La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3645 - CREAR TABLAS EN UNA MISMA BASE EN ACCESS CON CODIGO VB
Autor:  jasan
Hola, mi pregunta es: ¿Cómo puedo crear distintas tablas de datos en una misma base, pudiendo variar el número de campos al igual que sus nombres, o simplemente replicarlas, utilizo access 97 y visual basic 6, ejemplo: mi base esta en c:\sistema\mibase.mdb, y las tablas serían tabla98, tabla99, tabla2000; mediente código, como sería? Agradeceré cualquier ayuda brindada... gracias.

  Respuesta:  Jacp99
Tienes que Consultar la referencia de Access para la generación de Scripts SQL estandar ANSI.

Debes invocar Create Table, Drop Table (Borrar tablas) ... en fin , debes armar tus cadenas sql y pasarlas al origen de datos ODBC que tienes conectado a tu base de datos.

Espero que esto te de una buena idea de lo que necesitas ... si deseas conocer más solo escribeme.

  Respuesta:  Genaro Sanchez
Para crear tablas usando Sentencias SQL, el codigo es el siguiente:

Dim rs, i, sql(12), sqlcmd
Set rs = CreateObject("adoce.recordset")
sql(0) = "create table allfields ("
sql(1) = "f1 varchar ," ´adVarWChar
sql(2) = "f2 varchar(30)," ´adVarWChar
sql(3) = "f3 text ," ´adLongVarWChar
sql(4) = "f4 varbinary ," ´adVarBinary
sql(5) = "f5 varbinary (30) ," ´adVarBinary
sql(6) = "f6 long varbinary ," ´adLongVarBinary
sql(7) = "f7 int ," ´adInteger
sql(8) = "f8 smallint ," ´adSmallInt
sql(9) = "f9 float ," ´adDouble
sql(10) = "f10 datetime ," ´adDate
sql(11) = "f11 bit" ´adBoolean
sql(12) = ")"
For i = 0 To 12
sqlcmd = sqlcmd & sql(i)
Next
rs.Open sqlcmd
rs.Open "allfields"
MsgBox rs.Fields.Count, , "Fields"
rs.Close
Set rs = Nothing

Espero que te sirva

  Respuesta:  sergio berte
Para hacer lo que necesitas desde VB6, primero necesitas crear una variable de base de datos, para eso necesitas tener seleccionada la referencia de microsoft dao 2.3/3.5, abrir la base de datos donde queres crear las tablas y a través de esa variable ejecutar una consulta de creación de tabla SQL.Ej:

Dim base As Database

Private Sub cmdCrearTabla_Click()
base.Execute "CREATE TABLE Mitabla2 (nombre TEXT(25),numcli INTEGER CONSTRAINT indice PRIMARY KEY,apellido TEXT(30))"
End Sub

Private Sub Form_Load()
Set base = OpenDatabase("c:\mis documentos\temp2.mdb")
End Sub

En el load abro la base y despues genero la consulta, CREATE TABLE que crea una nueva tabla, despues van los nombres de los campos, tipo y tamaño, entre paréntesis y la palabra CONSTRAINT crea un indice que será la llave primaria del campo numcli.

Bueno espero que te haya sido útil lo poco que se sobre consultas SQL