[RESUELTO]campo de busqueda tecla pulsada

Discute sobre las herramientas de la base de datos

[RESUELTO]campo de busqueda tecla pulsada

Notapor Oscar461 » Mar Nov 03, 2020 5:10 pm

Hola estoy usando un campo de busqueda de tecla pulsada con el siguiente codigo:

Sub TeclaPulsadaStandard(Evento AS object)
Dim oTxt As String
Dim oFilter As Object
Dim oFormCtl As Object
Dim oCtrl As Object
Dim sCampo
oTxt = Evento.Source.getText()
sCampo = Evento.Source.Model.Tag() 'aqui se pone el nombre del campo a buscar, el tag corresponde a la propiedad "Informacion adicional
oCtrl = Evento.Source
oFormCtl = oCtrl.Model.Parent
oFormCtl.ApplyFilter = False

If oTxt <> "" then
oFormCtl.Filter = " UPPER(" & sCampo & ") LIKE " + "UPPER('%" & oTxt & "%')"
oFormCtl.ApplyFilter = True

Else
oFormCtl.ApplyFilter = False

End if

oFormCtl.Reload
oCtrl.SetFocus()
oFormCtl.ApplyFilter = False
End Sub

Tambien tengo puesto una macro de vaciar el texto al perder el foco.
Mi pregunta seria si es posible que cuando no encuentra resultado al hacer la busqueda se puede poner un msgbox o un print con el mensaje de sin resultados.
He estado haciendo pruebas pero no consigo que funcione.
Última edición por Oscar461 el Dom Nov 15, 2020 5:07 pm, editado 1 vez en total
openoffice 6.2 en w10
Oscar461
 
Mensajes: 14
Registrado: Jue Feb 27, 2020 2:04 pm

Re: campo de busqueda tecla pulsada

Notapor RMG » Mié Nov 04, 2020 12:56 pm

Hola,

Esta solución te podría valer.

Código: Seleccionar todo   Expandir vistaContraer vista
If oTxt <> "" then
   oFormCtl.Filter = " UPPER(" & sCampo & ") LIKE " + "UPPER('%" & oTxt & "%')"
   oFormCtl.ApplyFilter = True
   FormCtl.Reload
   If oFormCtl.getByName(sCampo).Text = "" Then
      MsgBox "sin datos"
   End If
Else
   oFormCtl.ApplyFilter = False

End if


Cada vez que efectúa el filtro comprueba que el campo a filtrar contiene datos, si no es el caso te avisa.

Saludos
OpenOffice 4.1.6 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3741
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: campo de busqueda tecla pulsada

Notapor Oscar461 » Vie Nov 06, 2020 1:02 pm

Gracias por tu respuesta, pero me da error en la línea de recarga del formulario.
Te adjunto una foto para que lo veas. Te quería haber puesto un ejemplo de la BD con lo mínimo, pero pesa mas de lo que permite y no he podido.
Adjuntos
ejemplo.rar
(87.43 KiB) 4 veces
openoffice 6.2 en w10
Oscar461
 
Mensajes: 14
Registrado: Jue Feb 27, 2020 2:04 pm

Re: campo de busqueda tecla pulsada

Notapor RMG » Vie Nov 06, 2020 1:52 pm

Hola,

Es oFormCtl.Reload, no FormCtl.Reload. Parece que al copiar el código no lo hice correctamente.

Saludos
OpenOffice 4.1.6 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3741
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: campo de busqueda tecla pulsada

Notapor Oscar461 » Lun Nov 09, 2020 7:25 pm

Gracias de nuevo, ya he cambiado el Form por oForm pero me sigue dando error en la siguiente línea.
Te pongo la foto para que veas el error.
Un saludo.
Adjuntos
error.rar
(82.71 KiB) 4 veces
openoffice 6.2 en w10
Oscar461
 
Mensajes: 14
Registrado: Jue Feb 27, 2020 2:04 pm

Re: campo de busqueda tecla pulsada

Notapor RMG » Mar Nov 10, 2020 5:13 pm

Hola,

No encuentra el control, revisa el nombre de control de campo a buscar si corresponde con el tag. Lo mejor es que adjuntes un pequeño ejemplo. Puedes hacerlo a través de un servidor externo, tipo GoogleDrive, Dropbox, mega etc.

Saludos
OpenOffice 4.1.6 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3741
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: campo de busqueda tecla pulsada

Notapor Oscar461 » Mié Nov 11, 2020 4:35 pm

Dejo un enlace de Mega para poder descargar la BD, he mirado lo del TAG pero no he coseguido que funcione.
https://mega.nz/file/990BHaBJ#LPCyQkqw3 ... haGMmLEZtc
Un saludo.
openoffice 6.2 en w10
Oscar461
 
Mensajes: 14
Registrado: Jue Feb 27, 2020 2:04 pm

Re: campo de busqueda tecla pulsada

Notapor RMG » Mié Nov 11, 2020 4:48 pm

Hola,

Es lo que te comentaba, debes poner el mismo nombre al campo que hace la búsqueda que al control donde la haces, así sirve para cualquier búsqueda. No es lo mismo solicitantae (tag) que CuadroSolicitante (Nombre del control).

Saludos
OpenOffice 4.1.6 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3741
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: campo de busqueda tecla pulsada

Notapor Oscar461 » Jue Nov 12, 2020 7:49 pm

En primer lugar gracias por tu paciencia y perdona mi ignorancia pues llevo poco tiempo en esto.
He cambiado el tag de Solicitante a CuadroSolicitante y ahora me da un error al hacer la busqueda pero si me sale el msgbox.
He hecho un BD muy pequeña para ver si me lo puedes hacer funcionar ahí y asi veo donde estoy metiendo la pata.
Un saludo.
Adjuntos
bd.rar
(11.44 KiB) 3 veces
openoffice 6.2 en w10
Oscar461
 
Mensajes: 14
Registrado: Jue Feb 27, 2020 2:04 pm

Re: campo de busqueda tecla pulsada

Notapor RMG » Vie Nov 13, 2020 11:15 am

Hola,

Mira sobre tu ejemplo anterior las modificaciones, este último bd.odb no puede conectar a la fuente de datos.

En el tag, pones el nombre del campo de la tabla que busca, en este caso (Solicitante y el control vinculado a ese campo, (cuadro de texto txtSolicitante) en vez de txtSolicitante a solo Solicitante.

Saludos
Adjuntos
ejemplo1.zip
(1.09 MiB) 4 veces
OpenOffice 4.1.6 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3741
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: campo de busqueda tecla pulsada

Notapor Oscar461 » Dom Nov 15, 2020 5:06 pm

Gracias está perfecto, ahora ya veo lo que querías decirme que no llegaba a entender.
openoffice 6.2 en w10
Oscar461
 
Mensajes: 14
Registrado: Jue Feb 27, 2020 2:04 pm


Volver a Base

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados