Cita:
Iniciado por elaragon
Lo cierto es que nunca he trabajado con Access, matizo lo de Access 2007 porque cambia considerablemente la interfaz respecto a las versiones anteriores.
He estado mirando la ayuda de Access (es una basura) y no encuentro donde crear los recordset...
Bueno, aquí va el ejemplo, (lo único que cambia en Access 2007 con las versiones anteriores, es la forma de conectarse a la base de datos). El código siguiente puedes ponerlo en el evento click de un CommandButton o en el Load de un formulario según tus necesidades:
Código:
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
' creamos y abrimos la conexión a la base de datos
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path & _
"\BD2007.accdb;Persist Security Info=False"
' creamos y abrimos el recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "SELECT Tabla1.Nombre, Tabla1.Apellido, Tabla1.Ciudad FROM Tabla1 INNER JOIN " & _
"Tabla2 ON Tabla1.Ciudad=Tabla2.Ciudad", cn, adOpenStatic, adLockOptimistic
' mostramos los datos en un MSHFlexGrid (puede ser cualquier otro control)
Set MSHFlexGrid1.DataSource = rs
Suponemos que la base de datos se llama BD2007.accdb y está en el mismo directorio de la aplicación, y que tienes referenciado ADO.