Fallo al filtrar un select en access
Publicado por Fran (11 intervenciones) el 23/11/2009 11:44:35
Tengo un formulario en el que tengo un cuadro de texto llamdo Textobusqueda y un cuadro de lista llamado Lista2, el origen de la fila del cuadro de lista es un SELECT ... a una tabla.
lo que estoy intentando hacer es un formulario de búsqueda que me muestre en el cuadro de lista el resultado de ir filtrando los datos que muestra, a partir de introducirle en el cuadro de texto, el texto que se pasará como criterio para filtrar.
El caso es que cuando escribo en el cuadro de texto, el listado del cuadro de lista se queda en blanco, y si borro lo que he escrito en el cuadro de texto, claramente el contenido del cuadro de lista aparece otra vez.
No me aparece ningún error, creo que no interpreta correctamente el parametro que se le pasa y por lo tanto como no encuentra coincidencia no muestra nada.
ESTE ES EL CÓDIGO. POR SI AYUDA.
Private Sub Textobusqueda_Change()
If Textobusqueda.Text = "" Then
Lista2.RowSource = "SELECT [Autores union apellidos y nombres].ClaveAutor, [Autores union apellidos y nombres].[Apellidos y nombre] FROM [Autores union apellidos y nombres] ORDER BY [Apellidos y nombre];"
Else
Lista2.RowSourceType = "Table/Query"
'Lista2.RowSource = "SELECT [Autores union apellidos y nombres].ClaveAutor, [Autores union apellidos y nombres].[Apellidos y nombre] FROM [Autores union apellidos y nombres] where [Autores union apellidos y nombres].[Apellidos y nombre] like 'a*' ORDER BY [Apellidos y nombre];"
Lista2.RowSource = "SELECT [Autores union apellidos y nombres].ClaveAutor, [Autores union apellidos y nombres].[Apellidos y nombre] FROM [Autores union apellidos y nombres] WHERE [Autores union apellidos y nombres].[Apellidos y nombre] LIKE ' * ' & Textobusqueda.Text & ' * ' ORDER BY [Apellidos y nombre];"
End If
Lista2.Requery
End Sub
lo que estoy intentando hacer es un formulario de búsqueda que me muestre en el cuadro de lista el resultado de ir filtrando los datos que muestra, a partir de introducirle en el cuadro de texto, el texto que se pasará como criterio para filtrar.
El caso es que cuando escribo en el cuadro de texto, el listado del cuadro de lista se queda en blanco, y si borro lo que he escrito en el cuadro de texto, claramente el contenido del cuadro de lista aparece otra vez.
No me aparece ningún error, creo que no interpreta correctamente el parametro que se le pasa y por lo tanto como no encuentra coincidencia no muestra nada.
ESTE ES EL CÓDIGO. POR SI AYUDA.
Private Sub Textobusqueda_Change()
If Textobusqueda.Text = "" Then
Lista2.RowSource = "SELECT [Autores union apellidos y nombres].ClaveAutor, [Autores union apellidos y nombres].[Apellidos y nombre] FROM [Autores union apellidos y nombres] ORDER BY [Apellidos y nombre];"
Else
Lista2.RowSourceType = "Table/Query"
'Lista2.RowSource = "SELECT [Autores union apellidos y nombres].ClaveAutor, [Autores union apellidos y nombres].[Apellidos y nombre] FROM [Autores union apellidos y nombres] where [Autores union apellidos y nombres].[Apellidos y nombre] like 'a*' ORDER BY [Apellidos y nombre];"
Lista2.RowSource = "SELECT [Autores union apellidos y nombres].ClaveAutor, [Autores union apellidos y nombres].[Apellidos y nombre] FROM [Autores union apellidos y nombres] WHERE [Autores union apellidos y nombres].[Apellidos y nombre] LIKE ' * ' & Textobusqueda.Text & ' * ' ORDER BY [Apellidos y nombre];"
End If
Lista2.Requery
End Sub
Valora esta pregunta


0