Originariamente inviato da Pepe27
Buongiorno,
Ho inserito nella tabella nomi fittizzi che mi sono inventato li per li, chiedo scusa se ho messo il nome di qualcuno. Non era voluto.
Gibra allego l,immagine e spero tu riesca a capire dove sto sbagliano, perchè io proprio non lo vedo...
Per forza non capivo!
Tu avevi scritto, nel tuo primo post
Originariamente inviato da Pepe27
Non le impacca come dovrebbe, mi fa solo alcune righe nel mezzo del testo...Perchè?
Quindi io pensavo che il problema fosse nelle righe, invece ce l'hai nelle colonne!

Premetto che il codice bisognerebbe provarlo,
probabilmente il problema sta nel codice che crea la riga:

codice:
For i = 0 To tb.Fields.Count - 1
  riga = riga + bar + pad1(valida(tb.Fields(i)), aColWidth(i))
Next i
infatti c'è una enorme discrepanza tra le righe verticali, ed i dati nelle colonne,

Ma è difficile capire bene il motivo senza testarlo direttamente.

L'unica cosa che ti conviene fare è il debug del codice istruzione per istruzione (F8) e valutare il risultato delle variabili in gioco; non vedo altra soluzione.

Quando usavo routine di stampa 'custom' come la tua io usavo un'altro modo di creare la riga, più o meno la logica era questa:
1. Definivo tutte le X di ogni colonna: X1=n, X2=n, X3=n, ....
2. stampavo la riga verticale sull'X1, X2, X3, ...
3. stampavo il dato allineandolo:
..... per le stringhe, a sinistra: X1+1, X2+1, X3+1, ...
..... per i numeri, a destra calcolando la colonna successiva: X2-1, X3-1, X4-1, ...

Ma parliamo di secoli fa!

Ora uso i Report, cosa che ti consiglio di adottare il più presto possibile.
Perchè non usi CrystalReport? Ce l'hai già a gratis.