Tablas de la Base de Access
Me pódrian decir como puedo sacar los nombres de las tablas dentro de una base de access
gracias de antemano
Saludos
gracias de antemano
Saludos
Con DAO:
Private Sub ListarTablas()
Dim oDatabase As Database
Dim oTabla As TableDef
Set oDatabase = OpenDatabase("C:Archivo.Mdb")
For Each oTabla In oDatabase.TableDefs()
MsgBox ("Tabla: " & oTabla.Name)
Next oTabla
oDatabase.Close
Set oDatabase = Nothing
'...
End Sub
'.................
Otra opcion, usando el COUNT de TableDefs ...
Private Sub ListarTablas()
Dim oDatabase As Database
Dim nCount As Long
Set oDatabase = OpenDatabase("C:Archivo.Mdb")
For nCount = 0 To oDatabase.Tabledefs.Count - 1
MsgBox ("Tabla: " & oDatabase.TableDefs(nCount).Name)
Next
oDatabase.Close
Set oDatabase = Nothing
'...
End Sub
Private Sub ListarTablas()
Dim oDatabase As Database
Dim oTabla As TableDef
Set oDatabase = OpenDatabase("C:Archivo.Mdb")
For Each oTabla In oDatabase.TableDefs()
MsgBox ("Tabla: " & oTabla.Name)
Next oTabla
oDatabase.Close
Set oDatabase = Nothing
'...
End Sub
'.................
Otra opcion, usando el COUNT de TableDefs ...
Private Sub ListarTablas()
Dim oDatabase As Database
Dim nCount As Long
Set oDatabase = OpenDatabase("C:Archivo.Mdb")
For nCount = 0 To oDatabase.Tabledefs.Count - 1
MsgBox ("Tabla: " & oDatabase.TableDefs(nCount).Name)
Next
oDatabase.Close
Set oDatabase = Nothing
'...
End Sub
Estoy usando ADO y mi conexion es con un DSN de sistema , loq eu deseo es colocar el nombre de las tablas de la base de datos en un combo solo eso , gracias de antemano.
Saludos
Saludos
Dim rsI As New ADODB.Recordset
Set rsI = oConexion.OpenSchema(adSchemaTables)
Do Until rsI.EOF
If Not esTablaSistema(rsI("TABLE_NAME")) Then
Combo1.AddItem rsI("TABLE_NAME")
End If
rsI.MoveNext
Loop
rsI.Close
donde oConexion es él objeto Connection, y la función esTablaSistema es esta:
Function esTablaSistema(nombreTabla As String) As Boolean
Dim tablaSistema As String
tablaSistema = Left(nombreTabla, 4)
If tablaSistema = "MSys" Then
esTablaSistema = True
Else
esTablaSistema = False
End If
End Function
Espero que te sirva.
salu2
sdemingo
Set rsI = oConexion.OpenSchema(adSchemaTables)
Do Until rsI.EOF
If Not esTablaSistema(rsI("TABLE_NAME")) Then
Combo1.AddItem rsI("TABLE_NAME")
End If
rsI.MoveNext
Loop
rsI.Close
donde oConexion es él objeto Connection, y la función esTablaSistema es esta:
Function esTablaSistema(nombreTabla As String) As Boolean
Dim tablaSistema As String
tablaSistema = Left(nombreTabla, 4)
If tablaSistema = "MSys" Then
esTablaSistema = True
Else
esTablaSistema = False
End If
End Function
Espero que te sirva.
salu2
sdemingo
