Programación General > Visual Basic 6.0 e inferiores
Re: Acceso a registros de BDD
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
[#] Página Siguiente
Ir a la versión completa