Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/12/2002, 08:22
Avatar de lmg7
lmg7
 
Fecha de Ingreso: agosto-2002
Mensajes: 93
Antigüedad: 22 años, 4 meses
Puntos: 0
Hola!
Te voy a contestar con algo que ya puse en otro foro, y es respecto al método OpenSchema del ADODB.Conection, que resulta interesante referido a tu pregunta pues permite determinar las propiedades de una base de datos sin conocer nada de antemano, ni el número o nombre de tablas

El código sería algo como:

Código:
Public WithEvents cnn As ADODB.Connection
Dim listado As ADODB.Recordset

Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\" & base
Set listado = cnn.OpenSchema(adSchemaColumns)
consulta.Open "SELECT * FROM " & listado!TABLE_NAME , cnn, adOpenDynamic, adLockOptimistic 
En este caso vas a tener en el recordset listado la lista con los nombres de las tablas que compone la tabla, y el nombre de las columnas o fields de cada una.

La sintaxis gral. de Schema es:

Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)

Tenes varias opciones de QueryType: adSchemaColumns (que usamos arriba), adSchemaIndexes, adSchemaConstraintTableUsage, y otros. De acuerdo al QueryType son los datos de la base que podes acceder.

Podes buscar mas información en el Help del Microsoft ActiveX Data Object.

Saludos.

Última edición por lmg7; 21/12/2002 a las 08:25