Añade las siguientes referencias al proyecto:
Microsoft ActiveX Data Objects 2.6 Library
Microsoft ADO Ext. 2.6 for DLL and Security
Realiza la siguiente función que recibirá como parámetro la cadena d conexión de la base de datos que quieres abrir y devolverá los nombres de las tablas concatendos por comas (sólo devolverá los nombres de las tablas de usuario y las vistas, las de sistema no. En el caso de querer las del sistema también quitar la condición)
Function obtener_tablas (conexion as string) As string
Dim BaseDatos As New ADOX.Catalog, Tablas As ADOX.table
Dim cnnBaseDatos As New ADODB.Connection
cnnBaseDatos.Open conexion
Set BaseDatos.ActiveConnection = cnnBaseDatos
obtener_tablas = ""
For Each Tablas In BaseDatos.Tables
If Tablas.Type = "TABLE" Then
If obtener_tablas <> "" Then
obtener_tablas = obtener_tablas & "," & Tablas.Name
Else
obtener_tablas = Tablas.Name
End If
Else
If Tablas.Type = "VIEW" Then
If obtener_tablas <> "" Then
obtener_tablas = obtener_tablas & "," & Tablas.Name
Else
obtener_tablas = Tablas.Name
End If
End If
End If
Next
cnnBaseDatos.close
Set BaseDatos = Nothing
Set BaseDatos = Nothing
End Function
Espero que te sirva.
Un saludo,
Roberto García