quando stampo da una tabella più righe e supero una pagina mi stampa tredici pagine vuote nell'intervallo tra l'ultima e le centrali sfalzando la stampa e mettendo parti di essa sparza nei vari fogli
in realtà il contenuto non dovrebbe superare le 2 pagine al massimo tre.
Sto impazzendo
PS. se esiste un metodo per stampare le tabelle baipassando le variabili etc.. fatemi sapere.
Public Sub Stampa()
On Error GoTo Errore
Dim col2 As String * 40, Col3 As String * 6, Col4 As String * 10, col5 As String * 7, col6 As String * 10, VarXY
Printer.ScaleMode = vbCentimeters 'imposta l'unità di misura
Printer.Orientation = 2
Printer.ScaleLeft = -1
Printer.ScaleTop = -1
Printer.ColorMode = 1 'stampa in bianco e nero
Printer.FontName = "Courier" 'seleziona il carattere
Printer.Copies = 1
Printer.FontSize = 8 'imposta la grandezza del testo
Printer.CurrentX = 1 'assegna le coordinate
Printer.CurrentY = 0.5 'assegna le coordinate
Printer.Print "*** cnn2000.it ***"; " "; Date; " "; Time
Printer.FontSize = 6 'imposta la grandezza del testo
Printer.CurrentX = 3 'assegna le coordinate
Printer.CurrentY = 1 'assegna le coordinate
Printer.Print "Tessera Num:", FrmUsato.TxtNTessera.Text
Printer.CurrentX = 3 'assegna le coordinate
Printer.CurrentY = 1.5 'assegna le coordinate
Printer.Print "Cognome:", FrmUsato.TxtCognome.Text
Printer.CurrentX = 3 'assegna le coordinate
Printer.CurrentY = 2 'assegna le coordinate
Printer.Print "Nome:", FrmUsato.TxtNome.Text
Printer.FontSize = 10 'imposta la grandezza del testo
Printer.CurrentX = 0.5 'assegna le coordinate
Printer.CurrentY = 3 'assegna le coordinate
VarXY = Printer.CurrentY
FrmUsato.Tabella.Row = 0
Do While FrmUsato.Tabella.Rows < 100
FrmUsato.Tabella.Col = 2
col2 = FrmUsato.Tabella.Text
FrmUsato.Tabella.Col = 3
Col3 = FrmUsato.Tabella.Text
FrmUsato.Tabella.Col = 4
Col4 = FrmUsato.Tabella.Text
FrmUsato.Tabella.Col = 5
col5 = FrmUsato.Tabella.Text
FrmUsato.Tabella.Col = 6
col6 = FrmUsato.Tabella.Text
Printer.CurrentX = 0.5
Printer.CurrentY = VarXY
Printer.Print Trim(col2)
Printer.CurrentX = 13
Printer.CurrentY = VarXY
Printer.Print Trim(Col3)
Printer.CurrentX = 15
Printer.CurrentY = VarXY
Printer.Print Trim(Col4)
Printer.CurrentX = 18
Printer.CurrentY = VarXY
Printer.Print Trim(col5)
Printer.CurrentX = 20
Printer.CurrentY = VarXY
Printer.Print Trim(col6)
VarXY = VarXY + 0.5
Printer.CurrentX = 0.5
Printer.CurrentY = VarXY
Printer.Print "----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
FrmUsato.Tabella.Row = FrmUsato.Tabella.Row + 1
Printer.CurrentX = 0.5
VarXY = VarXY + 0.3
Loop