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 respuesta

Respuesta
1
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