Access - criterio "como" en una consulta

   
Vista:

criterio "como" en una consulta

Publicado por aurora (1 intervención) el 23/11/2007 08:43:50
Hola amigos:

Se como establecer un criterio como en una consulta, de la manera:

como *CADENAABUSCAR*.

Así, se busca en un campo esa cadena y lista todos los registros en los que aparece en cualquier parte del campo.

El problema existe al buscar esa cadena en un formulario de esta manera:

Como ([Forms]![Formulario BUSQUEDA POR UN CRITERIO]![Texto1])

Así no hay problema, pero lo busca literal. Si intento hacerlo en cualquier parte del campo poniendo asteriscos, de esta manera:

Como *([Forms]![Formulario BUSQUEDA POR UN CRITERIO]![Texto1])*

Me da error.

Pregunta: ¿Como puedo hacer para buscar una cadena en un campo sacando el criterio de un formulario previo?

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Access
- Código fuente de Access
- Cursos de Access
- Temas de Access
- Chat de Access
información
Códigos de Access
- Contar días
- formularios en access
- RoloButtons

RE:criterio

Publicado por Angel (84 intervenciones) el 23/11/2007 10:07:58
Hola, no se si esto te servirá, yo lo empleo mucho en mis form y creo es parecido a lo que quieres.
Creas en el form dos duadros de texto independientes llamemosle txtFiltro y txtBox, al primero en el evento después de actualizar le pones este código:

Private Sub txtFiltro_AfterUpdate()
txtBox.Requery
txtBox.SetFocus
txtBox.Dropdown
End Sub

Al segundo txtBox, le pones como Cuadro Combinado, tipo de origen de la fila Tabla/Consulta, Origen de la fila, le pones la siguiente instrucción:

SELECT Nombre Tabla.Id, Nombre Tabla.Campo1, Nombre Tabla.Campo2, Nombre Tabla.Campo3 FROM Nombre Tabla WHERE (((Nombre Tabla.Campo1) Like "*" & Forms!NombreForm!txtFiltro & "*")) Or (((Nombre Tabla.Campo2) Like "*" & Forms!NombreForm!txtFiltro & "*")) Or (((Nombre Tabla.Campo3) Like "*" & Forms!NombreForm!txtFiltro & "*"));

Acuerdate de configurar el formato (nº de columnas, encabezados, ancho y filas en lista) de este cuadro combinado según tus caracteristicas, yo por ejemplo tengo puesto segun el orden (7,Sí,0 cm;3,519 cm;3 cm;3 cm;4 cm;6 cm;3 cm, 30)., tambien de cambiar los nombres Tabla, Form y Campos 1,2,3, así como Id, por los que tu hayas dado. Luego en el evento de este cuadro combinado Despuésde actualizar le pones el siguiente Código:

Private Sub txtBox_AfterUpdate()
On Error GoTo Err_txtBox_AfterUpdate
If Not IsNull(Me.txtBox) Then
With Me.RecordsetClone
.FindFirst "[Nombre Id] = " & Me.txtBox
If Not .NoMatch Then
Me.Bookmark = .Bookmark
End If
End With
End If
txtFiltro = Null
txtBox = Null
Exit_txtBox_AfterUpdate:
Exit Sub
Err_txtBox_AfterUpdate:
MsgBox Err.Description
Resume Exit_txtBox_AfterUpdate
End Sub

Esto busca en tres campos del form principal cadena de datos. Espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:criterio

Publicado por mi menda (1111 intervenciones) el 25/11/2007 03:42:04
Prueba de esta forma:
Como "*" & ([Forms]![Formulario BUSQUEDA POR UN CRITERIO]![Texto1]) & "*"

Un Saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar