Si es para crear una tabla le dejo estas funciones que utilizo en mis programas:
FORMULARIO
RESULTADO
Observe la tabla tbldemo1 aparece en la lista de objetos Tablas.
TABLA EN DISEÑO
CODIGO DEL BOTÓN CREAR TABLA
Private Sub btnCreaTabla_Click()
If IsNull(Me.ctlTabla) Then
MsgBox "Se requiere el nombre de la tabla", vbInformation, "Cuidado ..."
Me.ctlTabla.SetFocus
Exit Sub
End If
Call crea_tabla_SQL(Trim(Me.ctlTabla))
End Sub
Ingrese el código siguiente en un módulo de VBA.
Public Function existetabla(tblName As String) As Boolean
' Función para saber si existe una tabla en la base de datos actual
' Devuelve True Si existe o False sino existe
If DCount("[Name]", "MSysObjects", "[Name] = '" & tblName & "'") = 1 Then
existetabla = True
End If
End Function
Public Function crea_tabla_SQL(nombre_tabla As String)
'Función para crear una tabla con SQL
'Curso Access
'Elaborado por: Eduardo Pérez Fernández
'Parámetros: nombre de la tabla a crear, ejemplo, tblalumnos
'Requiere de la función existetabla(<<nombre_tabla>>)
On Error GoTo hay_error
Dim strSQl As String
'Verifico si la tabla existe con la funcion existetabla()
If existetabla(nombre_tabla) Then
' Pregunto si la elemino
If MsgBox("La tabla ya existe." & _
"¿Desea eliminarla?", vbYesNo + vbDefaultButton2 + vbQuestion, "CURSO ACCESS") = vbYes Then
DoCmd.SetWarnings (False)
' DoCmd. DeleteObject acTable, nombre_tabla 'También se puede eliminar con esta línea por ser base de datos Jet (Access)
DoCmd.RunSQL "DROP TABLE " & nombre_tabla ' Elimino la tabla con la instruccion sql DROP TABLE
Else
Exit Function
End If
End If
strSQl = "CREATE TABLE " & nombre_tabla & "(" & vbCrLf
strSQl = strSQl & "idsigue AUTOINCREMENT PRIMARY KEY," & vbCrLf
strSQl = strSQl & "nombre TEXT(30) NOT NULL, apellidos TEXT(60) NOT NULL, fecha_nac DATE NOT NULL," & vbCrLf
strSQl = strSQl & "cedula TEXT(20) NOT NULL UNIQUE, sueldo DOUBLE NOT NULL);"
DoCmd.RunSQL strSQl
If Err.Number = 0 Then
MsgBox "Tabla creada satisfactoriamente !!", vbInformation, "CREANDO TABLA"
End If
hay_error_exit:
Exit Function
hay_error:
MsgBox "Error : " & Err.Number & " " & Err.Description, vbCritical, "CREANDO TABLA"
Resume hay_error_exit
End Function
Para crear su tabla cambie los campos en el código SQL CREATE TABLE. Esto se puede automatizar más por ejemplo, pasando los campo como parámetros.