Buscar registros en formulario y refrescar la búsqueda al pulsar de nuevo

Tengo una base de datos, ahora en 2007 convertida de 2003. En su día creé un botón que me exponía una ventana para introducir la búsqueda del nombre, apellido1, apellido2,... Que tenía unido en una consulta. La orden de búsqueda era buscar -Como "*"&[ búsqueda de los nombres y apellidos unidos de varios campos]&"*"

Luego creé una macro que habría el formulario y aplicaba el filtro de la consulta.

En el procedimiento del evento del botón en el formulario al hacer click se creo esta orden

Private Sub Comando142_Click()
On Error GoTo Err_Comando142_Click

Dim stDocName As String

stDocName = "Dieta buscar COMO"
DoCmd.RunMacro stDocName

Exit_Comando142_Click:
Exit Sub

Err_Comando142_Click:
MsgBox Err.Description
Resume Exit_Comando142_Click
End Sub

Ahora la pregunta. Antes en 2003 pulsaba el botón, me salia el cuadro de dialogo, introducía la búsqueda, me filtraba y encontraba lo que buscaba, volvía a pulsar y como si refrescara volvía a hacer la nueva búsqueda y así sucesivamente.

En 2007, consigo realizar la búsqueda, pero tengo que cerrar el formulario porque lo vuelvo a pulsar y ni se inmuta y tengo que abrirlo nuevamente para que me ejecute una nueva búsqueda.

¿Qué me falta para que refresque y pueda volver a buscar pulsando de nuevo el botón sin necesidad de cerrar y abrir el formulario?

1 Respuesta

Respuesta
1

No es preciso hacer nada. Por ejemplo, si tengo la consulta(hecha para unir varios campos)

En el formulario le pongo un botón que al pulsarlo

Escribo una cadena y pulso Aceptar

Si vuelvo a pulsar

Y así las veces que haga falta

El código del botón es

Private Sub Comando7_Click()
Dim s As String
s = InputBox("Escribe una cadena", "Anda, por favor")
Me.RecordSource = "Select * from consulta1 where campounion like ""*""&'" & s & "'&""*"""
End Sub

Hola, buenos días.

Gracias por contestar.

Consigo que salga el cuadro de dialogo para insertar la cadena pero no que quede asociada a consulta. 

me sale este error

Private Sub Comando142_Click()

Dim s As String

s = InputBox("Escribe una cadena", "Anda, por favor")
Me.RecordSource = "Select * from CDietas buscar como where campounion like ""*""&'" & s & "'&""*"""

la consulta se llama "CDietas buscar como"

Saludos


End Sub

Soy enemigo acérrimo de nombrar objetos con nombres separados, por varias razones

1º Cuando lo pones en código tienes que estar encerrándolo entre corchetes(como es tu caso) o entre comillas.

2º Puedes cometer el error, por ejemplo, de poner Nombre Cliente y te vuelves loco al ver que no sale y no sale y es porque entre nombre y cliente hay dos espacios. Mientras que poniéndolo junto no sucede eso.

Y por más razones.

Tienes que ponerlo como

Me.RecordSource = "Select * from [CDietas buscar como] where campounion like ""*""&'" & s & "'&""*"""

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas