** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - CUADRO DE BUSQUEDA DEL FORMULARIO
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

CUADRO DE BUSQUEDA DEL FORMULARIO

 Responder Responder
Autor
Mensaje
pezuarco Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 04/Octubre/2008
Localización: Colombia
Estado: Sin conexión
Puntos: 394
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pezuarco Cita  ResponderRespuesta Enlace directo a este mensaje Tema: CUADRO DE BUSQUEDA DEL FORMULARIO
    Enviado: 10/Marzo/2019 a las 23:04
Hola que tal.....

Buen dia para todos!!!!

Necesito saber como enviar el foco al cuadro de busqueda del formulario, el cuadrito pequeñito que aparece abajo al lado de los selectores de registro.


GRACIAS



Editado por pezuarco - 10/Marzo/2019 a las 23:06
Muchas veces lo hacemos dificil....deberiamos verlo sencillo....todo es facil... necesitas logica ..paciencia...sapiencia....
Arriba
pezuarco Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 04/Octubre/2008
Localización: Colombia
Estado: Sin conexión
Puntos: 394
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pezuarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 23/Marzo/2019 a las 04:15
En alguna ocasión encontre  en este mismo foro la respuesta...    de todas formas sigo esperando alguna informacion


Gracias 
Muchas veces lo hacemos dificil....deberiamos verlo sencillo....todo es facil... necesitas logica ..paciencia...sapiencia....
Arriba
happy Ver desplegable
Moderador
Moderador


Unido: 29/Enero/2005
Localización: España
Estado: Sin conexión
Puntos: 3030
Opciones de entrada Opciones de entrada   Gracias (1) Gracias(1)   Cita happy Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 23/Marzo/2019 a las 11:37
Yo la verdad es que no se si encontraste en este foro la respuesta.

Lo que tú pides a mi entender sólo se puede lograr utilizando funciones del API de windows, ya que yo sepa, ese control "Buscar" no está disponible mediante comandos o instrucciones de la librería de objetos de Access.

He creado un procedimiento (más que nada para ver si era posible hacer eso que comentabas) que, al menos en Access 2013, me ha funcionado correctamente. Como explico en la cabecera del procedimiento, alguna de las clases de ventanas podrían tener nombres diferentes entre versiones. Incluso podría ser que la "estructura" de estas ventanas fuera también diferente entre diferentes versiones de Access ... En fin, aquí está el procedimiento. Cópialo en un módulo en blanco (las declaraciones de funciones de API deben situarse en la parte superior del módulo)

Private Declare Function FindWindowEx Lib "user32" _
                Alias "FindWindowExA" _
                (ByVal hWnd1 As Long, _
                ByVal hWnd2 As Long, _
                ByVal lpsz1 As String, _
                ByVal lpsz2 As String) As Long
               
Private Declare Function SetFocusAPI Lib "user32.dll" Alias "SetFocus" (ByVal hWnd As Long) As Long

'--------------------------------------------------------------------------------------------
' Procedure : EnfocarControlBusqueda
' Author    : Juan M. Afán de Ribera
' Date      : 23/03/2019
' Purpose   : Poner el foco en el cuadro "Buscar" de la barra inferior en formularios Access
'             - Probado sólo para Access 2013 (los nombres de clase de algunas ventanas
'               podrían cambiar entre versiones)
'   Ejemplo de uso:
'       Formularios:    Call EnfocarControlBusqueda(Me.hWnd)
'       Subformularios: Call EnfocarControlBusqueda(Me.[Nombre subformulario].Form.hWnd)
'--------------------------------------------------------------------------------------------
'
Public Sub EnfocarControlBusqueda(hForm As Long)
Dim hOSUI As Long
Dim hNetUINativeHWNDHost As Long
Dim hNetUIHWND As Long
Dim hNetUICtrlNotifySink As Long
Dim hRICHEDIT60W As Long

    ' localizamos la ventana inferior del formulario (OSUI)
    hOSUI = FindWindowEx(hForm, 0&, "OSUI", vbNullString)
    ' si está ahí ...
    If hOSUI <> 0 Then
        ' localizamos la ventana izquierda de la ventana inferior (NetUINativeHWNDHost)
        hNetUINativeHWNDHost = FindWindowEx(hOSUI, 0&, "NetUINativeHWNDHost", vbNullString)
        ' si está ahí ...
        If hNetUINativeHWNDHost <> 0 Then
            ' localizamos la sub-ventana izquierda de la ventana inferior (NetUIHWND)
            hNetUIHWND = FindWindowEx(hNetUINativeHWNDHost, 0&, "NetUIHWND", vbNullString)
            ' si está ahí ...
            If hNetUIHWND <> 0 Then
                ' localizamos la ventana de notificaciones (NetUICtrlNotifySink)
                hNetUICtrlNotifySink = FindWindowEx(hNetUIHWND, 0&, "NetUICtrlNotifySink", vbNullString)
                ' si está ahí ...
                If hNetUICtrlNotifySink <> 0 Then
                    ' localizamos el control editable de la ventana de notificaciones (RICHEDIT60W) -> "Buscar"
                    hRICHEDIT60W = FindWindowEx(hNetUICtrlNotifySink, 0&, "RICHEDIT60W", vbNullString)
                    ' si está ahí ...
                    If hRICHEDIT60W <> 0 Then
                        ' ponemos el foco en el control
                        SetFocusAPI hRICHEDIT60W
                    End If
                End If
            End If
        End If
    End If
       
End Sub

A ver si te sirve ...
Saludos,

Juan M. Afan de Ribera
Arriba
pezuarco Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 04/Octubre/2008
Localización: Colombia
Estado: Sin conexión
Puntos: 394
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pezuarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 23/Marzo/2019 a las 19:04
Si  señor muchas gracias .
voy a probar; asi  como esta me sirve pero me gustaria que tambien se pudiera copiar , pegar y borrar su contenido...

gracias

Muchas veces lo hacemos dificil....deberiamos verlo sencillo....todo es facil... necesitas logica ..paciencia...sapiencia....
Arriba
happy Ver desplegable
Moderador
Moderador


Unido: 29/Enero/2005
Localización: España
Estado: Sin conexión
Puntos: 3030
Opciones de entrada Opciones de entrada   Gracias (1) Gracias(1)   Cita happy Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 23/Marzo/2019 a las 23:09
Publicado originalmente por pezuarco pezuarco escribió:

Si  señor muchas gracias .
voy a probar; asi  como esta me sirve pero me gustaria que tambien se pudiera copiar , pegar y borrar su contenido...

gracias



Perdona? Dices que también te gustaría que se pudiera copia, pegar y borrar su contenido. ¿Qué quieres decir con eso? ¿Que te lo escriba?

Pues la verdad es que no. No tengo ninguna necesidad de hacerlo. Si te he respondido es porque la verdad es que me gusta escribir código, averiguar cosas y tener la satisfacción de hacer que funcionen. Luego, normalmente siempre me ha gustado compartirlo. Pero por desgracia me he ido encontrando gente que se conecta a los foros para que les hagan el trabajo, que parece que no tienen demasiado interés en aprender y seguir la cadena del "pido ayuda, me ayudan, aprendo algo y luego paso el relevo y soy yo el que ayuda y devuelvo el favor enseñando a otros ... y por el camino disfruto". Por eso dejé de escribir en los foros, por gente que hacía eso.

Si quieres resolver esta cuestión consíguete un programa para "espiar" las ventanas de windows, y empápate del uso de las funciones del api de windows. Después aplícalo al código que he escrito y mira a ver si te funciona ...

Ciao
Saludos,

Juan M. Afan de Ribera
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5190
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita VIMIPAS Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 24/Marzo/2019 a las 21:52
Yo pensaba que también iba a pedir dos guevos fritos y una longaniza.
Gracias Happy. Mas claro no se puede decir. Bravo: Smile
Saludos.
Gracias
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: en línea
Puntos: 11858
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 25/Marzo/2019 a las 11:42
Hola Happy,

Gracias por compartir. Te confirmo que en Access 2016 funciona perfectamente.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable