• Domingo 19 de Mayo de 2024, 20:36

Autor Tema:  Imprimir Solo Tres Registros Por Página  (Leído 975 veces)

BUHO

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Imprimir Solo Tres Registros Por Página
« en: Miércoles 25 de Febrero de 2004, 21:30 »
0
Hola de nuevo.

Tengo el siguiente problema, quiero imprimir tres registros por página  cumplen una condicion hasta que la condicion acabe. Bueno intento emplear bucle por contador For Next pero no encuentro la forma de que de el resultado que quiero.
Agradeceria buestra ayuda..
Adjunto el siguiente codigo

Do Until campo.EOF
 
    For I = 0 To 3
 
   Printer.Font.Size = 8
   Printer.Print Tab(10); "Nombre:    "; campo!nom & ", (" & campo!nif & ")"
   Printer.Print Tab(10); "Dirección:  "; campo!dire
   Printer.Print Tab(10); "Localidad:  "; campo!cp & " - " & campo!loca & " (" & _
                         campo!prov & ")"
   Printer.Print Tab(10); "Total:    "; Format(campo!total, "###,##0.00") & " €"
   
   campo.MoveNext
   Printer.NewPage
   
   Next
 Loop

  FontName = oldfont
  FontSize = oldsize
  Printer.EndDoc

esta condicion for next solo imprime un registro por página, echarme una mano
Gracias........

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Imprimir Solo Tres Registros Por Página
« Respuesta #1 en: Jueves 26 de Febrero de 2004, 09:12 »
0
Hola BUHO.

Es evidente: cada vez que mueves el siguiente registro del recordset (¿campo?), también imprimes en una nueva página. Debes eliminar el bucle y añadir un contador. Algo así:

Código: Text
  1.  
  2.  
  3. Printer.Font.Size = 8
  4.  
  5. dim int1 as integer
  6.  
  7. Do Until campo.EOF
  8.  
  9. int1 = int1 + 1
  10.  
  11. Printer.Print Tab(10); "Nombre: "; campo!nom & ", (" & campo!nif & ")"
  12. Printer.Print Tab(10); "Dirección: "; campo!dire
  13. Printer.Print Tab(10); "Localidad: "; campo!cp & " - " & campo!loca & " (" & _
  14. campo!prov & ")"
  15. Printer.Print Tab(10); "Total: "; Format(campo!total, "###,##0.00") & " €"
  16.  
  17. if int1 = 3 then
  18.    Printer.NewPage
  19.    int1 = 0
  20. End if
  21.  
  22. campo.MoveNext
  23.  
  24. Loop
  25.  
  26. FontName = oldfont
  27. FontSize = oldsize
  28. Printer.EndDoc
  29.  
  30.  

BUHO

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Imprimir Solo Tres Registros Por Página
« Respuesta #2 en: Jueves 26 de Febrero de 2004, 17:51 »
0
gracias por tu respuesta, sencilla pero funciona de fabula y yo que me volvia loco con el for next gracias de nuevo.

hasta otra