Access - Datos en excel

 
Vista:

Datos en excel

Publicado por Angel (3 intervenciones) el 09/03/2005 16:08:05
Me gustaria saber como puedo hacer en un formulario de EXCEL, al meter un campo, me busque en ACCESS los datos correspondientes y me los pase a distintas celdas de dicho formulario. Agradezco vuestro interes.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Búsqueda y transferencia de datos desde Excel a Access mediante VBA

Publicado por Alejandro (4142 intervenciones) el 29/05/2023 18:57:51
Para buscar datos en una base de datos de Access y pasarlos a distintas celdas en un formulario de Excel, puedes utilizar la funcionalidad de conexión y consulta a través de VBA (Visual Basic for Applications). A continuación, te mostraré un ejemplo básico de cómo lograrlo:

1. Abre el formulario de Excel donde deseas ingresar el campo y buscar los datos correspondientes.

2. Abre el Editor de Visual Basic presionando Alt + F11.

3. En el Editor de Visual Basic, ve al menú "Herramientas" y selecciona "Referencias". Asegúrate de tener seleccionada la referencia "Microsoft ActiveX Data Objects x.x Library" (donde "x.x" representa la versión instalada en tu sistema). Si no está seleccionada, búscala en la lista y marca la casilla correspondiente.

4. En el Editor de Visual Basic, inserta el siguiente código en un módulo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub BuscarDatosAccess()
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strSQL As String
    Dim campo As String
 
    ' Establece la cadena de conexión a tu base de datos de Access
    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Ruta\A\Tu\Archivo.accdb;"
 
    ' Ingresa el campo que deseas buscar en la variable "campo"
    campo = Sheets("NombreDeTuHoja").Range("A1").Value
 
    ' Crea la consulta SQL para buscar los datos en Access
    strSQL = "SELECT * FROM NombreDeTuTabla WHERE CampoBusqueda = '" & campo & "'"
 
    ' Ejecuta la consulta y obtén los datos
    rs.Open strSQL, conn
 
    ' Verifica si se encontraron resultados
    If Not rs.EOF Then
        ' Asigna los valores de los campos encontrados a las celdas correspondientes
        Sheets("NombreDeTuHoja").Range("B1").Value = rs.Fields("Campo1").Value
        Sheets("NombreDeTuHoja").Range("C1").Value = rs.Fields("Campo2").Value
        ' ... Continúa asignando los valores a las celdas necesarias
 
        rs.Close
    Else
        ' Si no se encontraron resultados, muestra un mensaje o realiza alguna acción adicional
        MsgBox "No se encontraron datos para el campo ingresado."
    End If
 
    ' Cierra la conexión a la base de datos
    conn.Close
    Set rs = Nothing
    Set conn = Nothing
End Sub

5. En el código anterior, debes modificar la cadena de conexión ("Data Source=C:\Ruta\A\Tu\Archivo.accdb;") para que apunte al archivo de tu base de datos de Access.

6. También debes ajustar los nombres de la hoja ("NombreDeTuHoja") y las celdas ("A1", "B1", "C1") según tus necesidades.

7. Guarda y cierra el Editor de Visual Basic.

8. Regresa a tu formulario de Excel y asigna un botón o un evento (como el evento "Cambio de valor" de un campo) para llamar a la macro "BuscarDatosAccess".

Cuando ingreses un campo en la celda especificada y actives la macro, se realizará la conexión a la base de datos de Access, se ejecutará la consulta SQL y los datos correspondientes se pasarán a las celdas especificadas en tu formulario de Excel.

Recuerda que este es solo un ejemplo básico y puedes adaptarlo según tus necesidades específicas, como ajustar la consulta SQL, manejar diferentes campos, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar