[RESUELTO] Realizar búsqueda en dos campos

Discute sobre las herramientas de la base de datos
Responder
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

[RESUELTO] Realizar búsqueda en dos campos

Mensaje por jopicach »

Hola,

He buscado al respecto y no he encontrado la solución. Esta macro me funciona muy bien pero solo me vale para buscar en un campo. Tengo un formulario con un botón asignada a una macro. Al pulsarlo, un InputBox me pide el apellido a buscar en el campo Apellido1, el caso es que quiero que me realice la búsqueda también en el campo Apellido2, que el texto que introduzco en el InputBox realice la búsqueda en los dos campos y me muestre el registro. Gracias.

Sub BotonBuscaApellido(Event As Object)
Dim Form As Object
Form=Event.Source.Model.Parent
Form.Filter="UPPER(""Apellido1"") LIKE '%" & UCase(InputBox("Introduzca el primer apellido del Socio a buscar:","BUSCAR","")) & "%'"
Form.ApplyFilter=True
Form.Reload
End Sub
Última edición por jopicach el Vie Feb 17, 2017 4:53 pm, editado 1 vez en total.
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Realizar búsqueda en dos campos

Mensaje por RMG »

Hola,

Entra en las propiedades "Filtro" del formulario y creas un filtro de lo que quieres, que puede ser Y u O, depues lo visualizas y lo aplicas a tu macro.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: Realizar búsqueda en dos campos

Mensaje por jopicach »

Gracias,

Pues me da error. El filtro me arroja lo siguiente ( `socio`.`Apellido1` = 'a' ) OR ( `socio`.`Apellido2` = 'a' )
no se como aplicarlo a la macro anterior
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Realizar búsqueda en dos campos

Mensaje por RMG »

Hola, puedes adjuntar un pequeño ejemplo.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: Realizar búsqueda en dos campos

Mensaje por jopicach »

Hola,

Si, adjunto el ejemplo

Gracias
Adjuntos
Socios.7z
(11.67 KiB) Descargado 159 veces
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Realizar búsqueda en dos campos

Mensaje por RMG »

Hola,

Prueba esto.

Código: Seleccionar todo

Sub BotonBuscaApellido(Event As Object) 
    Dim Form As Object
    Dim Valor As String
   Form=Event.Source.Model.Parent
   Valor = InputBox("Introduzca el primer apellido del Socio a buscar:","djorquera ©®","")
   Form.Filter="UPPER(""Apellido1"") LIKE '%" & UCase(Valor) & "%' OR UPPER(""Apellido2"") LIKE '%" & UCase(Valor) & "%'"
   Form.ApplyFilter=True
   Form.Reload
End Sub
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: Realizar búsqueda en dos campos

Mensaje por jopicach »

Hola de nuevo,

Funciona perfectamente la macro. A ver si progreso pronto gracias a lo que aprendo en este foro, han sido muchos años de Access y estoy un poco perdido. Adjunto el ejemplo con el código aplicado.

Un saludo.
Adjuntos
Socios.7z
(12.07 KiB) Descargado 142 veces
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: [RESUELTO] Realizar búsqueda en dos campos

Mensaje por RMG »

Yo empece como tu y ya ni me acuerdo de Access.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: [RESUELTO] Realizar búsqueda en dos campos

Mensaje por jopicach »

Pues si, es verdad, Access ya ni lo toco. Y todo hay que decirlo, gracias a personas como tú que nos ayudan en los inicios y nos anima a continuar.

Muchas gracias de nuevo.
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
Responder