Búsqueda del ultimo registro validado en access vb6

Primero que todo muchas gracias por estar disponible a las personas que desean aprender más sobre los conocimiento que tienes que dios te bendiga
bueno en fin voy a mi problema estoy elaborando un proyecto en visual basic 6.0
estoy trabajando con base de datos en access muy básico estoy haciendo la conexión
por adodb connection y por recordset
resulta que estoy ingresando registros a una tabla pero un registro en particular no lo estoy validando
¿Por qué? Por que es numero y con ese identifico el proceso osea que ese numero representa varios procesos y a la ora de agrear deja ese campo vacío
ahora lo que necesito es un código que busque en access el ultimo registro validado osea que no este en blanco para sumarle + 1 y hacer un autonumérico no se si pueda pero
Respuesta
1
Cuando tu usas ADODB y RecordSets, debes usar querys SQL para seleccionar los datos, en este caso si deseas buscar ciertos registros. Cuando asignas esto a una variable de recordset, mandas a memoria esos registros y hay un comando que se va inmediatamente al último registro, es rs.movelast, mira este ejemplo:
Set rs = New ADODB.Recordset
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset
rs.Source = ("select ID from TABLA where ID is not null ORDER BY ID ASC ") // este es el query
rs.ActiveConnection = cn
rs.Open
If rs.RecordCount > 0 Then
rs.MoveLast
cont=rs("VariableEnMiTabla")+1 
Else
msgbox "No hay registros en la base" 
end if 
Cuando sí hay registros y entra al rs.movelast el va a tener en memoria el último registro, luego asigna a la variable cont el número que sigue después del ID mayor.
Es decir que si en tu tabla tienes los valores 1,2,3,4,5,6,7 y 8, al ir al rs.movelast va a tomar el 8 y a cont le va a asignar 8 +1 = 9 y listo.
Oye muchísimas gracias funciono pero me voy cuenta de que cuando el campo esta vacío como te mencione anteriormente entonces me sale el siguiente error
"uso no válido del null"
¿Cómo puedo solucionar ese error?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas