SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Jose Arriagada en Jueves 24 de Mayo de 2007, 17:22

Título: Mostrar Todas Las Tablas Access .mdb
Publicado por: Jose Arriagada en Jueves 24 de Mayo de 2007, 17:22
Estimados,

Alguien me puede dar una idea de como mostrar todas las tablas que se encuentran en una base de datos ACCESS usando ADO.


En el siguiente codigo, abro la base de datos y despues leo una tabla definida.

    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset
    With cnn
        .ConnectionString = _
            "Provider=Microsoft.Jet.OLEDB.3.51;" & _
            "Data Source=C:\BASEDATOS.MDB;"
        .Open
    End With    
    ' Indicarle de que tabla vamos a leer los datos
    rst.Open "SELECT * FROM empresa", cnn, adOpenDynamic, adLockOptimistic


La idea, es poder colocar en un combobox, todas las tablas que estan contenidas en la base de datos, y despues en el combobox, al hacer click, se visualizaran todos los campos y datos de la tabla seleccionada.


Gracias
Título: Re: Mostrar Todas Las Tablas Access .mdb
Publicado por: F_Tanori en Jueves 24 de Mayo de 2007, 20:15
Prueba esto a ver si te sirve


Código: Text
  1. Function CargarTablas()
  2.     Dim l_cnn As New Connection
  3.     Dim l_rs As New Recordset
  4.    
  5.     l_cnn.Open "DSN=BASE" '<---Conexion
  6.  
  7.     Set l_rs = l_cnn.OpenSchema(adSchemaTables)
  8.          With l_rs
  9.             Do While Not .EOF
  10.               If !TABLE_TYPE = "TABLE" Then
  11.                   Combo1.AddItem !TABLE_NAME
  12.               End If
  13.               .MoveNext
  14.             Loop
  15.         End With
  16.  
  17. End Function
  18.  

Saludos
Título: Re: Mostrar Todas Las Tablas Access .mdb
Publicado por: Jose Arriagada en Viernes 25 de Mayo de 2007, 19:32
Solo agregaria lo siguiente...

--> Se debe agregar una referencia a
Microsoft ActiveX Data Object 2.6 Library

--> Se debe crear una conexion ODBC con el nombre "BASE"

Y todo listo...



Muchisimas gracias... me sirvio...