Programación General > Visual Basic 6.0 e inferiores

 Porq No Pasa De Un Registro Al Otro???

(1/1)

lavi:
la idea es que genere un autonumérico mediante el programa...
trabajo en 3 capas para acceder a bd; presentación (forms), dominio (conecta presentación y persistencia) , persistencia (accede directamente a la bd);;; y miren el cód. q lo q no logro es que de un id 417 pase al 418 automaticamente...

presentación (frmingreso) luego de hacer el alta; insertaria el nuevo id en la caja de texto;

   txtId.TEXT = CLDAFILIADO1.NuevoID.ID

en dominio; busca la de persistencia para el nuevo id del afiliado

Public Function NuevoID() As cAfiliado2
    Set NuevoID = New cAfiliado2
    NuevoID.ID = clpAfiliado2.NuevoID.ID
End Function

en persistencia,,,, seria donde estaría el error... supongo MIREN EL COD!

Public Function NuevoID() As cAfiliado2
'Agrego un nuevo id a cada afiliiado que voy ingresando
    Set NuevoID = New cAfiliado2
    Set rs = mBASE.abrirsnapshot("Afiliado2")
    If Not rs.EOF And Not rs.BOF Then
        rs.MoveLast
        NuevoID.ID = Val(rs!ID) + 1
    Else
        NuevoID.ID = 1
    End If
End Function


NO SE; QUEDA TRABADO Y CON ESTE COD NO PASA DEL 417 AL 418 ...

DESDE YA GRACIAS.... :)

cpmario:
Revisa el código colocando un MsgBox para ver si MoveLast te coloca en el último registro.
Por ejemplo


--- Código: Text ---If Not rs.EOF And Not rs.BOF Then      rs.MoveLast      MsgBox "Ultimo ID Registrado: " & Val(rs!ID)      NuevoID.ID = Val(rs!ID) + 1Else      NuevoID.ID = 1End If  :comp:

DiabloRojo:
Me llama la atención esta línea:


--- Citar ---Set rs = mBASE.abrirsnapshot("Afiliado2")

--- Fin de la cita ---

Si estás abriendo la tabla como snapshot no hay forma de que puedas actualizar o añadir ningún registro. Esta forma de abrir las tablas se usa para realizar consultas (o sea, sólo para leer la información).

Saludos,

DiabloRojo.

lavi:
Si claro, por esto que vos decis; como es solo para realizar consultas el snapshot lo utilizo en esta función. En realidad aquí:

If Not rs.EOF And Not rs.BOF Then
     rs.MoveLast
     MsgBox "Ultimo ID Registrado: " & Val(rs!ID)
     NuevoID.ID = Val(rs!ID) + 1Else
     NuevoID.ID = 1
End If

no existe una modificación en la base, lo único que hace es levantar el NuevoID.ID y llevarlo al formulario; lee el registro de la bd y levanta a el form...
por esto sigo con el problema y realmente creo q no es de código.....

 ;)

Navegación

[0] Índice de Mensajes

Ir a la versión completa