Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/07/2008, 07:05
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 17 años, 2 meses
Puntos: 37
Respuesta: Duda sencilla con access

Cita:
Iniciado por elaragon Ver Mensaje
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.