Tablas de la Base de Access

Solid Snake
19 de Agosto del 2004
Me pódrian decir como puedo sacar los nombres de las tablas dentro de una base de access

gracias de antemano

Saludos

semperfimxl
19 de Agosto del 2004
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


solidsnake
19 de Agosto del 2004
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

sdemingo
19 de Agosto del 2004
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