Visual Basic - Tablas de access

Life is soft - evento anual de software empresarial
 
Vista:

Tablas de access

Publicado por marcelo (1 intervención) el 15/04/2006 16:19:31
hola a todos....como puedo en un listbox listar las tablas que tengo en mi base de datos access
hay alguna query que haga esto?
muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tablas de access

Publicado por Cecilia Colalongo (3116 intervenciones) el 15/04/2006 16:55:42
Con ADOX, sería:

Dim objCatalog As Catalog, objTable As Table
Set objCatalog = New Catalog
Set objCatalog.ActiveConnection = TuObjetoConnectionADO
For Each objTable In objCatalog.Tables
Debug.Print objTable.Name
Next

Con OpenSchema de ADO:

Set objRecordset = TuObjetoConnection.OpenSchema(adSchemaTables)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tablas de access

Publicado por marcelo (28 intervenciones) el 17/04/2006 02:41:09
gracias cecilia!!!
me sirvio lo de ADO
ahora 2 preguntas
1...haciendolo con access me aparecen "tablas" como MsysObject y MSysQuerys....me imagino que son tablas ocultas....hay manera de que no me vengan en el recordset
2....en vez de OpenSchema(adSchemaTables)...hay forma de obtner lo mismo pero mediante una sentencia SQL?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tablas de access

Publicado por Cecilia Colalongo (3116 intervenciones) el 17/04/2006 07:56:23
1. Revisa los parámetros de OpenSchema que tienes para filtrar esos casos:

Set objRecordset = TuObjetoConnection.OpenSchema(adSchemaTables,Array(Empty,Empty,Empty,"TABLE"))

En:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/his_2004Main/htm/_sna_adschematables_oledb.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/his_2004Main/htm/_sna_openschema_method_oledb.asp

2. Las sentencias SQL para acceder a las tablas del sistema las implementa cada DBMS -si es que las implementa, puede no hacerlo-, en caso de SQL Server se hace a través de un SELECT a la tabla sysobjects, para eso se inventaron OpenSchema y ADOX para encapsular esa funcionalidad y que la misma sentencia sirva para varios DBMS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar