Unir dos consultas.

Sergio Caicedo
14 de Mayo del 2005
Tengo dos archivos Access que contienen exactamente las mismas tablas (con información distinta cada uno). Los accedo desde VB6.0 usando MSJet. Me interesa crear un consulta combinada, unir las consultas de cada base de datos (de archivos distintos!), en un solo Recordset que pueda organizar y manipular. Planteo la busqueda con UNION ALL pero cada base de datos usa una conexión distinta y cuando MSJet me pide la conexión a usar sólo puedo asignarle una. Agradecería la ayuda que este disponible. Att. Sergio Caicedo.

Jerry
14 de Mayo del 2005
Hola.

No te compliques, genera la conexion por ADODB y manda ejecutar la sentencia con un comando SQL, el resultado de esto lo puedes meter en un recordset y listo ya lo puedes manipular.

Te mando un ejemplo

'Inicio Programa
Dim cn As New ADODB.Connection
Dim Datos_Regreso As New ADODB.Recordset

'Establezco conexion
cn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:anydatabase.mdb"
'Abro Conexion
cn.Open

'Inicializo el Recordset
Set Datos_Regreso = New ADODB.Recordset

'Ejecuto el SQL
Datos_Regreso.Open "select * from DataTable", cn, adOpenKeyset, adLockPessimistic

' Me posiciono en el primer registro que regresa el Recordset
If Not Datos_Regreso.EOF Then
Datos_Regreso.MoveFirst
Do Until Datos_Regreso.EOF
'Empieza a llenar las celdas
Grid.AddItem renglon
Grid.Row = 1
Grid.Col = 0
Grid.Text = Datos_Regreso.Fields!Campo1
Grid.Col = 1
Grid.Text = Datos_Regreso.Fields!Campo2
Grid.Col = 2
Grid.Text = Datos_Regreso.Fields!Campo3
Grid.Col = 3
Grid.Text = Datos_Regreso.Fields!Campo4
renglon = renglon + 1
Datos_Regreso.MoveNext
Loop
End If

'Cierro Recordset
If Datos_Regreso.State = adStateOpen Then
Datos_Regreso.Close
End If

Espero te sirva

Suerte