• Viernes 17 de Mayo de 2024, 02:12

Autor Tema:  Porq No Pasa De Un Registro Al Otro???  (Leído 1350 veces)

lavi

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Porq No Pasa De Un Registro Al Otro???
« en: Lunes 10 de Diciembre de 2007, 23:33 »
0
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

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Porq No Pasa De Un Registro Al Otro???
« Respuesta #1 en: Martes 11 de Diciembre de 2007, 17:52 »
0
Revisa el código colocando un MsgBox para ver si MoveLast te coloca en el último registro.
Por ejemplo

Código: Text
  1. If Not rs.EOF And Not rs.BOF Then
  2.       rs.MoveLast
  3.       MsgBox "Ultimo ID Registrado: " & Val(rs!ID)
  4.       NuevoID.ID = Val(rs!ID) + 1
  5. Else
  6.       NuevoID.ID = 1
  7. End If
  8.  
:comp:

DiabloRojo

  • Miembro MUY activo
  • ***
  • Mensajes: 220
    • Ver Perfil
Re: Porq No Pasa De Un Registro Al Otro???
« Respuesta #2 en: Jueves 13 de Diciembre de 2007, 15:22 »
0
Me llama la atención esta línea:

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

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

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Porq No Pasa De Un Registro Al Otro???
« Respuesta #3 en: Viernes 14 de Diciembre de 2007, 20:31 »
0
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.....

 ;)