Programación General > Visual Basic 6.0 e inferiores

 Re: Acceso a registros de BDD

(1/2) > >>

olarrere:
Hola, estoy intentando acceder a registros de una BDD access y los veo bien, pero al tratar de acceder a uno en particular no lo consigo y siempre rescato el primero o el último depediendo de lo que indique en el comando move...(first,last,etc), a pesar de indicar otra cosa en la clave de búsqueda

   NumRut = Val(Combo1.Text)
   Buscar = "rut='" & NumRut & "'"
   Data2.Refresh
   Data2.Recordset.MoveLast
   Data2.Recordset.FindFirst Buscar

¿Que estoy haciendo mal?, ¿Que falta? o ¿Que no se puede hacer?. Gracias

angelescj:
Si el campo "rut" es de tipo numérico en la BDD deberías quitar las comillas:

NumRut = Val(Combo1.Text)
Buscar = "rut=" & NumRut
Data2.Refresh
'La siguiente línea de código no es necasaria
Data2.Recordset.MoveLast
Data2.Recordset.FindFirst Buscar
'También debes comprobar si la búsqueda encontró algo:
If Data2.RecordSet.NoMatch Then
    No encontró nada
End If


:suerte:

olarrere:
:flower:
La clave "rut" es una variable tipo string, por eso va entre comillas, voy a probar quitando la línea que me indicas. La sentencia NoMatch la utilizo y siempre acusa que encuentra registro, el problema es que lo encontrado no es lo requerido. Después te cuento como me está llendo.

J.M.Movilla:
Yo empleo las búsquedas habitualmente así:

Buscar = "rut like '" & NumRut & "'"
Data2.Recordset.FindFirst (Buscar)
If Data2.Recordset.NoMatch Then
MsgBox("No se encuentra el dato que se buscaba")
Exit Sub
End If

A ver si a la tercera va la vencida, a pesar de que veo bien los anteriores métodos...  Saludos

olarrere:
Hola, de acuerdo a lo que me indicó angelescj probé del siguiente modo,
   
   Dim NumRut As String
   Dim Buscar As String
   NumRut = Val(Combo1.Text)
   Buscar = "rut='" & NumRut & "'"
   Data2.Refresh
   Data2.Recordset.FindFirst Buscar
   If Data2.Recordset.NoMatch Then
      MsgBox ("No encuentra registro")
   Else
*      Label4 = tabla1("nombre")    
   End If

* Sin embargo, la ejecución se detiene en esta línea y un mensaje me indica "no existe registro activo" y evidentemente, la sentencia NoMatch es falsa. :question:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa