Necesito buscar en un formulario desde otro formulario

Necesito ayuda con filtrar formulario desde otro formulario
Cuando filtro directamente en el campo Nombre del formulario Clientes y miro en la propiedad Filtro de la vista diseño me encuentro con:

([_Clientes]. [nombre]="cary" )

Nota: no sé porque el guion bajo delante de Clientes

Entiendo que esta debe ser la construcción de la sentencia que debo pasar por código desde el formulario Buscador.
Pero solo me aproximo al resultado deseado. La primera vez se comporta como una consulta de parámetro y funciona, ya después se queda colgado filtrando el mismo parámetro, pero no da error.

El código que uso es el siguiente:

Dim strValor1 As String
Dim miFiltro As String

If Me. TxtNombre <> "" Then
strValor1 = txtNombre

miFiltro = " ([Clientes]. [nombre]) = " & strValor1 & " "
forms ("Clientes"). Form. FilterOn = False
forms ("Clientes"). Form. Filter = miFiltro
forms ("Clientes"). Form. FilterOn = True

Else

MsgBox " ingrese un nombre para buscar", vbOKOnly, "Atencion"

End if

2 Respuestas

Respuesta
1

Si el criterio es una cadena falta un apostrofe de apertura y cierre, algo como:

miFiltro = " ([Clientes]. [nombre]) =' " & strValor1 & "' "

¡Gracias! Eduardo.

Me parece que la solución pasa por el tema de las comillas simples y dobles.

Cuando lo escribo como me indicas me da error de compilación:

Se esperaba: expresión

Y el cursor cae en la segunda comilla simple.

Como se dice, he tirado piedras y he puesto las comillas creo que de todas las formas, menos la correcta por supuesto.

Respuesta
1

Supongamos que quieres que te filtre el formulario Clientes desde otro formulario donde hay un cuadro de texto TxtNombre.

¿Has probado a poner simplemente

If not isnull([txtnombre]) then

DoCmd.OpenForm "Clientes", , , "Nombre='" & Me.txtnombre & "'", acFormReadOnly, acDialog

else

msgbox....

end if

Así, cuando hayas escrito algo algo( o no) en el cuadro de texto TxtNombre, te abrirá, en vista diálogo el formulario Clientes, sólo con aquellos registros en que su control Nombre sea igual a lo que has escrito.

¡Gracias! Julián

Mi formulario Cliente está abierto y activo y necesito filtrarlo por varios campos a la vez, para eso utilizo un botón que al hacer click sobre el, me abre un formulario independiente, un buscador. Después de rellenado le doy aplicar en un botón para que el resultado se muestre en el formulario Cliente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas