Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/05/2006, 22:13
Avatar de marcos1979
marcos1979
 
Fecha de Ingreso: abril-2004
Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 21 años
Puntos: 1
Creo que estas equivocado. Las consultas SQL se deben hacer al abrir el recordset.
Supongo que, para cargarlo ejecutas "SELECT * FROM tabla"

Despues cuando haces nom = rst.Fields("Nombre") estas cargando el valor del registro actual por eso te muestra siempre el mismo.
Si ya tenes cargados todos los nombres con "SELECT * FROM tabla" usa Find para buscar el que queres.
Código:
Dim rst as New ADODB.Recodset
Dim SQL as String
Dim nom as String
Dim nom1 as String
Dim nom2 as String

'Esta es la sentencia SQL que se va a ejecutar
SQL = "SELECT nombre, id FROM tabla"

'Cargamos los registros (Todos en este caso)
rst.Open SQL, conexion, adOpenForwardOnly, adLockBatchOptimistic 

If rst.RecordCount > 0 then 'Vemos si hay algun registro o dará error

'Buscamos los que nos interesan (1, 3, 4 en tu ejemplo)
rst.Find "id = '1'", , adSearchForward, 1

nom = rst.Fields("nombre").Value

rst.Find "id = '3", , adSearchForward, 1

nom1 = rst.Fields("nombre").Value

rst.Find "id = '4'", , adSearchForward, 1

nom2 = rst.Fields("nombre").Value

End If

Text3.Text = nom
Text4.Text = nom1
Text5.Text = nom2
espero que te sirva, un saludo
__________________
Marcos

El dinero no da la felicidad... démelo y sea feliz!!!