Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/08/2005, 15:34
Avatar de robertonavarro
robertonavarro
 
Fecha de Ingreso: octubre-2004
Mensajes: 72
Antigüedad: 19 años, 7 meses
Puntos: 1
La cosa es así: cuando tu seleccionas el elemento de la lista, por ejemplo 'cactus' y traes en un recordset los registros que tengan 'cactus' en el campo Pozo, el recordset resultante regresa un conjunto de registros, no uno solo.
Si hicieras un bd.Recordset.MoveNext, te moverías entre los registros, obteniendo la información de cada uno.

La cuestión es: ¿Cual de los registros contiene la información del 'cactus' en específico que se busca?

Sugerencia: Agregale a la tabla un campo autonumérico (Id) que sea la llave primaria, asi ya puedes distinguir entre los distintos 'cactus', y sería el valor de ese campo por el que harías la búsqueda. El recordset de búsqueda te regresaría siempre solo un registro: el correcto.

Claro que esto tiene sus complicaciones, pero facilmente corregibles; por ejemplo de donde tomarías el Id? tendrias que agregarlo a la lista concatenándolo con el otro campo asi: List1.AddItem ( bd.Recordset.Fields("Id") & " " & bd.Recordset.Fields("pozo"))

Y para tomar el Id cambiarías en el evento List1_Click() la instrucción: bd.Recordset.Find "pozo ='" & List1.Text & "'"
Por la instrucción: bd.Recordset.Find "Id =" & Trim(Mid(List1.List(List1.ListIndex), 1, InStr(1, List1.List(List1.ListIndex), " "))) & ""


Por cierto, el objeto List no tiene propiedad Text, como tienes en tu codigo.

Bye.
por: