• Martes 14 de Mayo de 2024, 03:58

Autor Tema:  Mostrar Num De Reg En Un Textbox  (Leído 4495 veces)

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Mostrar Num De Reg En Un Textbox
« en: Domingo 7 de Agosto de 2005, 22:42 »
0
Saludo Gente

Tengo planeado algo de lo cual no tenia ni la menor idea de como empezarlo, entre reescribiendo y colocando código en comentarios, ya me dio resultado pero tiene un error del cual aun no he logrado pasar.

Mi cuestion es sobre hacer lo que hace un control Data, es decir...
pasar con sus botones por cada uno de los registros, pero por CommandButton, sin control Data.

Cada vez que le de a los botones (CommandButton) me desplace por los registros llenandose la informacion de cada registro en los TextBox.

Eso ya está hecho, pero deseo que en otro TextBox se vea el numero de Registros total en la tabla y el numero del registro actual es decir...

Ej: 8 Registros en la tabla
     Viendo Registro numero 6
     Seria: 6/8

Algo asi:
TxtNumReg.Text = (aqui iria el Reg actual) & "/" & Rs.RecordCount

Este es el código de cada botón, los cuales son:
( |< )Primero, ( < )Anterior, ( > )Siguiente, ( >| )Ultimo

Nota: Una Funcion LOAD_DATA carga los datos en todos los TextBox

Código: Text
  1.  
  2. --------------------------------------------------------------------------------
  3. Private Sub CmdPrimero_Click()
  4.     Rs.MoveFirst
  5.     LOAD_DATA
  6. End Sub
  7. --------------------------------------------------------------------------------
  8. Private Sub CmdAnterior_Click()
  9.     If Rs.BOF = False Then
  10.         Rs.MovePrevious
  11.         LOAD_DATA
  12.     End If
  13.     'TxtNumReg.Text = Rs.RecordCount
  14. End Sub
  15. --------------------------------------------------------------------------------
  16. Private Sub CmdSiguiente_Click()
  17.     If Rs.BOF = False Then
  18.         Rs.MoveNext
  19.         LOAD_DATA
  20.     End If
  21. End Sub
  22. --------------------------------------------------------------------------------
  23. Private Sub CmdUltimo_Click()
  24.     Rs.MoveLast
  25.     LOAD_DATA
  26. End Sub
  27. --------------------------------------------------------------------------------
  28.  
  29.  

No sé como hacer para que en un TextBox se vea: RegActual / NumRegistros
y que cada vez que me desplaze por los botones cambie: RegActual

Otra problema de lo mismo es que al llegar al primer Registro y seguirle dando al boton, da el error: No hay ningun Registro activo.

Como podría hacer para que al momento de llegar al primer registro, y desee seguire dando al boton, no de ese error sino que simplemente se quede ahí, en el primer registro.  E igual con el llegar al ultimo registro y que se quede ahí en el ultimo aun a pesar de seguirle dando al boton.


El boton PRIMERO y ULTIMO funcionan perfecto, si se llega al primero o ultimo y se le sigue dando no da error, el error está solo con ANTERIOR y SIGUIENTE.


Perdon por tanto escrito, es para explicarlo bien, son esas 2 las trancas que tengo.
Muchas gracias por cualquier ayudita.
Si esto es Leído por accidente, induzca al vomito

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Mostrar Num De Reg En Un Textbox
« Respuesta #1 en: Lunes 8 de Agosto de 2005, 00:09 »
0
Yo uso el siguiente código...
Código: Text
  1. Private Sub cmdFirst_Click()
  2.    If Not Rs.BOF And Not Rs.EOF Then
  3.       Rs.MoveFirst
  4.    End If
  5. End Sub
  6.  
  7. Private Sub cmdLast_Click()
  8.    If Not Rs.BOF And Not Rs.EOF Then
  9.       Rs.MoveLast
  10.    End If
  11. End Sub
  12.  
  13. Private Sub cmdNext_Click()
  14.    If Not Rs.BOF And Not Rs.EOF Then
  15.       If Rs.EOF Then
  16.          Rs.MoveLast
  17.       Else
  18.          Rs.MoveNext
  19.          If Rs.EOF Then
  20.             Rs.MoveLast
  21.          End If
  22.       End If
  23.    End If
  24. End Sub
  25.  
  26. Private Sub cmdPrevious_Click()
  27.    If Not Rs.BOF And Not Rs.EOF Then
  28.       If Rs.BOF Then
  29.          Rs.MoveFirst
  30.       Else
  31.          Rs.MovePrevious
  32.          If Rs.BOF Then
  33.             Rs.MoveFirst
  34.          End If
  35.       End If
  36.    End If
  37. End Sub
  38.  
  39.  
Utiliza el evento Reposition del control Data para el código de Rs.RecordCount

 :)

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Mostrar Num De Reg En Un Textbox
« Respuesta #2 en: Jueves 11 de Agosto de 2005, 04:42 »
0
Compadre nuevamente agradecido por sus codigos, de verdad.
Lo estoy probando aunque no me ha dado resultados, dejame ver en que modificación y acomodo le pongo hasta que me sirva, sino, te aviso para mandarte la cuestion por correo, dale.

Gracias cpmario
Si esto es Leído por accidente, induzca al vomito

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Mostrar Num De Reg En Un Textbox
« Respuesta #3 en: Sábado 13 de Agosto de 2005, 05:21 »
0
Listo, ya me sente a ver el problema de esos 4 botones de desplazamiento de registros de la bd asi quedo:

Código: Text
  1.  
  2. ------------------------------------------------------------------------------
  3. Private Sub CmdPrimero_Click()
  4.   If Not RsImp.BOF And Not RsImp.EOF Then
  5.      RsImp.MoveFirst
  6.      LOAD_DATA_IMP
  7.      BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  8.   End If
  9. End Sub
  10. ------------------------------------------------------------------------------
  11. Private Sub CmdAnterior_Click()
  12.   If Not RsImp.BOF And Not RsImp.EOF Then
  13.         LOAD_DATA_IMP
  14.         BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  15.      If RsImp.BOF Then
  16.         RsImp.MoveFirst
  17.         LOAD_DATA_IMP
  18.         BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  19.      Else
  20.         RsImp.MovePrevious
  21.         If RsImp.BOF Then
  22.            RsImp.MoveFirst
  23.            LOAD_DATA_IMP
  24.            BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  25.         End If
  26.      End If
  27.   End If
  28. End Sub
  29. ------------------------------------------------------------------------------
  30. Private Sub CmdSiguiente_Click()
  31.   If Not RsImp.BOF And Not RsImp.EOF Then
  32.         LOAD_DATA_IMP
  33.         BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  34.      If RsImp.EOF Then
  35.         RsImp.MoveLast
  36.         LOAD_DATA_IMP
  37.         BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  38.      Else
  39.         RsImp.MoveNext
  40.         'LOAD_DATA_IMP
  41.         'BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  42.         If RsImp.EOF Then
  43.            RsImp.MoveLast
  44.            LOAD_DATA_IMP
  45.            BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  46.         End If
  47.      End If
  48.   End If
  49. End Sub
  50. ------------------------------------------------------------------------------
  51. Private Sub CmdUltimo_Click()
  52.   If Not RsImp.BOF And Not RsImp.EOF Then
  53.      RsImp.MoveLast
  54.      LOAD_DATA_IMP
  55.      BUSCANDO_IMAGEN_A_MOSTRAR_IMP
  56.   End If
  57. End Sub
  58. ------------------------------------------------------------------------------
  59.  
  60.  

Gracias cpmario  ;)

PD: Sabrías como se podría realizar lo siguiente en un TextBox?
Text1.Text = 3/8

Estamos en el registro 3 de 8
Al desplazarme por cada registro en la ventana como podría visualizar algo como lo indicado?
Text1.Text = ??? & "/" & RsImp.RecordCount
Si esto es Leído por accidente, induzca al vomito

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Mostrar Num De Reg En Un Textbox
« Respuesta #4 en: Lunes 15 de Agosto de 2005, 20:17 »
0
El siguiente código lo uso para mostrar el número de registros de la base de datos.
Tiene manejo de errores, si no hay registros le indico al usuario que debe agregarlo.

Código: Text
  1.  
  2. Private Sub CountRecords()
  3.     On Error GoTo ErrorCountRecords
  4.     If RsImp.BOF And RsImp.EOF Then
  5.         LblRCMain.Caption = &#34;0&#34;
  6.         gstrMsg = &#34;Antes de iniciar cualquier operación &#34; & vbCrLf & _
  7.                   &#34;agregue un registro. Clic en [Nuevo].&#34;
  8.         MsgBox gstrMsg, vbInformation, gstrAppTitle
  9.     Else
  10.         mvarBookMark = RsImp.Bookmark
  11.         RsImp.MoveLast
  12.         LblRCMain.Caption = RsImp.RecordCount
  13.         RsImp.Bookmark = mvarBookMark
  14.     End If
  15.     Exit Sub
  16. ErrorCountRecords:
  17.     GenErrorHandler &#34;frmEditbloc/CountRecords()&#34;, Err.Number, Err.Description
  18. Exit Sub
  19. End Sub
  20.  

En cuanto a lo de mostrar el número de registro, no he encontrado la forma de hacerlo. Para mí no es útil el parámetro y no lo muestro.

 :)

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Mostrar Num De Reg En Un Textbox
« Respuesta #5 en: Lunes 15 de Agosto de 2005, 20:53 »
0
Para lo de número de registro trata con lo siguiente:
      Text1.text = RsImp.AbsolutePosition

 :)

DiabloRojo

  • Miembro MUY activo
  • ***
  • Mensajes: 220
    • Ver Perfil
Re: Mostrar Num De Reg En Un Textbox
« Respuesta #6 en: Lunes 15 de Agosto de 2005, 21:32 »
0
Qué tal usercode?

Otra cosa que puedes hacer es crear una variable a nivel de formulario que te sirva de contador algo así:

nRegistro ' Tu variable

Si |<< entonces nRegistro=1
Si >>| entonces nRegistro= la propiedad RecordCount de tu RecordSet
Si << entonces nRegistro=nRegistro-1
Si >> entonces nRegistro=nRegistro+1

Lo que quedaría es hacer algo como esto:

TextX.Text=Str(nRegistro) & "/" & str(rs.RecordCount )


Aunque creo que para que no tengas problemas el número de registros de tu recordset debe permanecer fijo mientras navegas entre ellos. De cualquier manera espero que esta idea al "aire" te sirva.


DiabloRojo.

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Mostrar Num De Reg En Un Textbox
« Respuesta #7 en: Miércoles 17 de Agosto de 2005, 15:41 »
0
jejejeje... funciona.. y de las variadas formas que me han puesto, son unos genios.

ahora si, todo listo.. a hacer el ejecutable e instalador se ha dicho...

muchas gracias compadres

-The End Post-
Si esto es Leído por accidente, induzca al vomito