Borrar o midifcar una columna
Estoy programando en VB6 y trabajo con bases de datos access y Sql. Tengo que cambiar la longitud de un campo de texto 50 a 100. COmo no he podido conseguirlo porque me daba errores. He creado un campo nuevo, le he pasado los datos y lo intento borrar. En access ningún problema pero en sql no me funciona. Te indico el código si tu ves el error.
'Creamos un campo nuevo.
Set Campo_Nuevo = Db.TableDefs("FCoBalanNPGC").CreateField("Nombre2")
Campo_Nuevo.name = "Nombre2"
Campo_Nuevo.Type = 10
Campo_Nuevo.Size = 150
Db.TableDefs("FCoBalanNPGC").Fields.Append Campo_Nuevo
Db.Close
'Pasamos los datos del Nombre al Nombre2.
Call Abrir_BD_Softcon(Db)
Criterio = "Update FCoBalanNPGC Set Nombre2=Nombre"
Db.Execute Criterio
'Borramos el campo anterior.
If Tipo_Gestor = "Access" Then
'Access
Db.TableDefs("FCoBalanNPGC").Fields.Delete ("Nombre")
Else
Criterio = "ALTER TABLE DBO.FCOBALANNPGC DROP COLUMN NOMBRE2"
Db.Execute Criterio
end if
Me da el siguiente error con la base de datos sql. Error 3032. No se puede realizar esta operación. Creo que tengo todos los permisos necesarios. Si hago esta consulta en el Microsoft sql server management studio, me funciona. Pero si lo hago desde el código no.
'Creamos un campo nuevo.
Set Campo_Nuevo = Db.TableDefs("FCoBalanNPGC").CreateField("Nombre2")
Campo_Nuevo.name = "Nombre2"
Campo_Nuevo.Type = 10
Campo_Nuevo.Size = 150
Db.TableDefs("FCoBalanNPGC").Fields.Append Campo_Nuevo
Db.Close
'Pasamos los datos del Nombre al Nombre2.
Call Abrir_BD_Softcon(Db)
Criterio = "Update FCoBalanNPGC Set Nombre2=Nombre"
Db.Execute Criterio
'Borramos el campo anterior.
If Tipo_Gestor = "Access" Then
'Access
Db.TableDefs("FCoBalanNPGC").Fields.Delete ("Nombre")
Else
Criterio = "ALTER TABLE DBO.FCOBALANNPGC DROP COLUMN NOMBRE2"
Db.Execute Criterio
end if
Me da el siguiente error con la base de datos sql. Error 3032. No se puede realizar esta operación. Creo que tengo todos los permisos necesarios. Si hago esta consulta en el Microsoft sql server management studio, me funciona. Pero si lo hago desde el código no.
1 respuesta
Respuesta de javier_007
1