Access - Buscar un dato en un cuadro de lista

 
Vista:

Buscar un dato en un cuadro de lista

Publicado por Gabriel (2 intervenciones) el 09/07/2003 22:05:00
Saludos.
Necesito buscar un dato en una lista que tengo en un formulario en Access. Para ello pongo un InputBox para que el usuario introduzca el dato que quiera buscar, y luego yo tendría que buscar ese dato en una lista que hay en el formulario y dejar seleccionada la fila donde está ese dato. El problema es que no se como hacerlo, no se con que propiedades puedo ir recorriendo la lista e ir preguntando si en la fila hay un dato que sea igual al que introdujo el usuario y dejar la fila seleccionada. Si alguien pudiera ayudarme estaría muy agradecido.
Gracias a todos.
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

RE:Buscar un dato en un cuadro de lista

Publicado por Miguel Gato (67 intervenciones) el 10/07/2003 14:17:43
Me temo que solo te puedo ayudar en parte.
Para recorrerlo puedes usar lo siguiente:
For contador = 0 To Lista1.ListCount - 1
If Lista1.ItemData(contador) = "aquí debes poner el inputbox " Then
msgbox "El elemento está en la posición " & contador+1
endif
next

donde:
Lista1 es el nombre de la lista
La propiedad ListCount indica el número de elementos de la lista
La propiedad ItemData muestra el contenido de la fila indicada entre paréntesis (empezando desde 0).

En visual basic, si no recuerdo mal, se puede seleccionar una fila asignándole el valor de la fila (en nuestro ejemplo sería contador) a la propiedad ListIndex. Sin embargo, en Access, esta propiedad es de solo lectura por lo que no creo que puedas hacerlo. Si averiguas como, dímelo, que estoy intrigado. Suerte.
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

Gracias Miguel, aquí está la solución

Publicado por Gabriel (2 intervenciones) el 10/07/2003 19:49:55
Hola Miguel, resulta que al poco de mandar la nota di con ello y la verdad es que era bastante sencillo. Aquí te mando el código de como lo hice, que es bastante sencillo. Con la propiedad Column le dices la columna dentro de la lista en la que quieras buscar, ya que una lista de Access aparte de filas puede estar dividida también en columnas, con lo que en una misma fila puedes tener varias casillas (columnas) con datos. La propiedad Column tiene dos parametros, el primero indicas la columna donde vas a buscar y el segundo la fila (como si fueran celdas del excel), y para dejar la fila correspondiente seleccionada utilice la propiedad selected como verás a continuación. Aquí va el código:

Private Sub Comando4_Click()

Dim I as Integer
Aux = InputBox("Introduzca el valor a buscar", "Buscar")
LstDatos.SetFocus
For I = 0 To LstDatos.ListCount
If LstDatos.Column(1, I) = Aux Then
LstDatos.Selected(I) = True
Exit For
End If
Next I



End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar