Si utilizas la biblioteca DAO 3.6, puedes recorrer la colección «TableDefs» para conocer el nombre de las tablas de la base de datos: Dim db As Database Dim tbl As TableDef ' Abrimos la base de datos Set db = OpenDatabase("C:\Bd1.mdb") ' Recorremos la colección TableDefs For Each tbl In db.TableDefs ' No se muestran las tablas del sistema If tbl.Attributes = 0 Then ' Añadimos el nombre al control ListBox List1.AddItem tbl.Name End If Next Si por el contrario utilizas ADO, aqui tienes un ejemplo: Dim cnn As Connection Dim rsTablas As Recordset ' Establezco la conexión Set cnn = New ADODB.Connection With cnn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=C:\Bd1.mdb" .Open End With ' Abro un recordset cuyo registros contienen ' las tablas existentes en la base de datos Set rsTablas = cnn.OpenSchema(adSchemaTables) ' Recorro todos los registros del recordset Do While Not rsTablas.EOF ' Obtengo el nombre de la tabla If rsTablas("TABLE_TYPE") = "TABLE" Then List1.AddItem rsTablas("TABLE_NAME") End If ' Siguiente tabla rsTablas.MoveNext Loop Mas.... Dim cnn As New ADODB.Connection Dim cat As New ADOX.Catalog Dim tbl As ADOX.Table cnn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & _ "Data Source= 'Northwind.mdb';" Set cat.ActiveConnection = cnn For Each tbl In cat.Tables Debug.Print tbl.Name Next