Hola tengo una tabla hecha en access y me gustaría saber como agregarle columnas desde visual basic gracias
1 respuesta
Respuesta de orande
1
1
orande, Amplios conocimientos y experiencia en Visual Basic, SQL Server y...
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