Añadir columnas a una tabla

Hola tengo una tabla hecha en access y me gustaría saber como agregarle columnas desde visual basic gracias
1

1 Respuesta

53.075 pts. Amplios conocimientos y experiencia en Visual Basic,...
Para saber como insertar un campo, como para casi todas las preguntas que tengan relación con Access, lo primero que tienes que indicarme es si utilizar DAO o ADO, me da igual la version:
* Insertar un campo con DAO:
Dim TD as DAO.TableDef
Dim FD as DAO.Field
Dim IX as DAO.Index
'Si la tabla no existe
Set TD = BD.CreateTableDef("Tabla1")
'Si la tabla existe
Set TD = BDPadrino.TableDefs("Tabla1")
'Añadir un campo de texto de 6 caracteres
Set FD = TD.CreateField("Campo1", dbText, 6)
TD.Fields.Append FD
TD.Fields.Refresh
'Añadir un campo entero con posibles valores nulos
Set FD = TD.CreateField("Campo2", dbInteger)
FD.AllowZeroLength = True
'Convertir el primer campo en clave primaria
Set IX = TD.CreateIndex("PrimaryKey")
Set FD = IX.CreateField("Campo1", dbText, 6)
IX.Fields.Append FD
IX.Fields.Refresh
IX.Properties("Primary").Value = True
IX.Properties("Unique").Value = True
TD.Indexes.Append IX
TD.Indexes.Refresh
'Añadimos la tabla a la BD (si la hemos creado nueva)
BD.TableDefs.Append TD
BD.TableDefs.Refresh
* Insertar un campo con ADO (necesitas la referencia "Microsoft Jet And Replication Objects 2.X Library"):
Dim TBL as ADOX.Table
Dim PK As ADOX.Key
'Si la tabla no existe
Set TBL = New ADOX.Table
TBL.Name = "Tabla1"
'Si la tabla existe
Set TBL = BD.Tables("Tabla1")
'Añadir un campo de texto de 6 caracteres
TBL.Columns.Append "Campo1", adVarWChar, 6
'Añadir un campo entero con posibles valores nulos
TBL.Columns.Append "Campo2", adSmallInt
TBL.Columns("Campo2").Attributes = adColNullable
'Convertir el primer campo en clave primaria
Set PK = New ADOX.Key
PK.Name = "PK_Tabla1"
PK.Type = adKeyPrimary PK.Columns.Append "Campo1", adVarWChar, 6
TBL. Keys. Append PK
BD. Tables. Append TBL
BD. Tables. Refresh

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas