Access - CONSULTA DATOS DE ACCESS A EXCEL CON REFERENCIA

 
Vista:

CONSULTA DATOS DE ACCESS A EXCEL CON REFERENCIA

Publicado por Enrique Morales (2 intervenciones) el 12/01/2006 23:51:42
Que tal a todos necesito de su ayuda para hacer funcionar esta rutina de vb en un módulo de excel para crear una función que traiga los datos desde una bd en access por medio de una referencia contenida en una celda de la hoja de calculo.

la rutina es:

Function traer1(ByRef o)
Dim BD As Database
Dim RSnombres As Recordset
Dim o As String
Set BD = OpenDatabase("C:\\Eventual\Sistema Moper\EST SALIDA1.mdb")
Set RSnombres = BD.OpenRecordset("Altas", dbOpenDynaset)
'o = Text1.Text
With RSnombres
'.MoveFirst
.FindFirst "Folio like '*" + o + "*'"
'Text1.Text = .Fields("Folio")
a = .Fields("Nombre del Empleado")
b = .Fields("Apellido Paterno")
c = .Fields("Apellido Materno")
traer1 = (a + " " + b + " " + c)
'traer1 = .Fields("Nombre del Empleado")
End With
End Function

esta rutina se pega en un módulo dentro del editor de vb de excel se guarda y solo se agrega en excel como una formula ej: =traer1(A1) en donde A1 es la celda que contiene el valor a buscar dentro de la bd

espero me puedan ayudar

Saludos.
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

Función para obtener datos de una base de datos de Access en Excel

Publicado por Alejandro (4142 intervenciones) el 15/06/2023 23:21:59
Hola, Enrique, parece que estás buscando ayuda con una rutina en VBA en Excel para crear una función que traiga datos desde una base de datos en Access utilizando una referencia contenida en una celda de la hoja de cálculo. A continuación, te muestro una versión modificada de tu rutina que puede ayudarte a lograrlo:

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
Function traer1(ByVal referencia As Range) As String
    Dim BD As Database
    Dim RSnombres As Recordset
    Dim valorBuscado As String
 
    valorBuscado = referencia.Value
 
    Set BD = OpenDatabase("C:\Eventual\Sistema Moper\EST SALIDA1.mdb")
    Set RSnombres = BD.OpenRecordset("Altas", dbOpenDynaset)
 
    With RSnombres
        .FindFirst "Folio Like '*" & valorBuscado & "*'"
        If Not .NoMatch Then
            Dim a As String
            Dim b As String
            Dim c As String
 
            a = !Nombre del Empleado
            b = !Apellido Paterno
            c = !Apellido Materno
 
            traer1 = a & " " & b & " " & c
        Else
            traer1 = "No se encontraron datos"
        End If
    End With
 
    RSnombres.Close
    BD.Close
End Function

Debes pegar esta rutina en un módulo dentro del Editor de VBA de Excel. Luego podrás utilizarla en una celda de Excel como una fórmula, por ejemplo: `=traer1(A1)`, donde A1 es la celda que contiene el valor a buscar dentro de la base de datos.

Ten en cuenta que he realizado algunos cambios en la rutina original para que funcione correctamente. Asegúrate de ajustar la ruta del archivo de base de datos a la ubicación correcta en tu sistema.

Espero que esto te sea de ayuda. ¡Saludos!
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