Generar lista de tablas de bases de datos de Microsoft Access

Generar lista de tablas de bases de datos de Microsoft Access

¿Cómo hago para que Microsoft Access genere una lista de tablas de bases de datos?

Me encontré con una consulta SQL que alguien sugirió enotro sitio websin embargo, Access no parece tener ninguna interfaz que permita simplemente ejecutar una consulta construida por el usuario como la que se muestra a continuación...

SELECT [Name]
FROM MSysObjects
WHERE Type In (1,4,6)
AND Left([Name] , 4) <> "MSys"
ORDER BY [Name]

Respuesta1

Puedes ejecutar el SQL que tienes en una consulta, porque eso es lo que es.

  1. Cree una nueva consulta en el diseño de consultas, no con el asistente.
    ingrese la descripción de la imagen aquí
  2. Cierra la ventana de la mesa.
    ingrese la descripción de la imagen aquí
  3. Cambie la vista SQLe ingrese su cadena.
  4. Haga clic RUN.
    ingrese la descripción de la imagen aquí

Respuesta2

Puedes hacerlo así con DAOen VB:

Public Sub ListTablesDAO()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef

    Set db = CurrentDb
    For Each tdf In db.TableDefs
        If (tdf.Attributes And dbSystemObject) = 0 Then
            Debug.Print tdf.Name
        End If
    Next tdf
    db.Close: Set db = Nothing
End Sub

y así conADO

Public Sub ListTablesADO()
    Dim rs As ADODB.Recordset

    Set rs = CurrentProject.Connection.OpenSchema(adSchemaTables)
    Do Until rs.EOF
        If rs!TABLE_TYPE = "TABLE" Then
            Debug.Print rs!TABLE_NAME
        End If
        rs.MoveNext
    Loop
    rs.Close: Set rs = Nothing
End Sub

DAO y ADO proporcionan dos modelos de objetos diferentes para bases de datos. La versión que elijas depende de tus preferencias. También necesita una referencia a las respectivas bibliotecas:

Puede agregar estas referencias en el menú Tools > References:

ingrese la descripción de la imagen aquí

información relacionada