Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    376

    Riga doppia nuova pagina

    Salve ho questo problema, quando faccio il salto pagina il primo record e solo quello mi viene duplicato, penso dipenda dal fatto che quando esce dal ciclo if con conta > 29 poi esegue anche il resto del codice che mi duplica la riga, ho provato e riprovato ma non sono risuscito a risolvere questo problema , qualcuno può aiutarmi, grazie. Posto il codice di seguito:
    .....
    pdf.SetXY 15,10
    x=pdf.GetX()
    y=pdf.GetY()
    pdf.Image logo,x,y,40


    if not rs.eof then
    conta = 1
    ... scrive le intestazioni ....
    while not rs.eof


    if conta > 29 then
    if not rs.eof then
    pdf.addpage()

    --- scrive le intestazioni e il corpo della pagina ....
    conta = 1
    end if
    end if ---- esce dal ciclo di conta > 29
    if not rs.eof then
    ... solo corpo della pagina ......
    conta = conta + 1
    end if
    rs.MoveNext
    wend
    end if
    Chi Crede in Me non Perirà MAI

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    376
    Nessuna idea? grazie.
    Chi Crede in Me non Perirà MAI

  3. #3
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    la if not rs.eof è di troppo dentro la while...
    Vic53

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    376
    Grazie vic53, chiaramente ti riferisci a quello dentro il ciclo conta >29 , giusto?
    Comunque non ho risolto il mio problema.
    Qualche idea?
    Chi Crede in Me non Perirà MAI

  5. #5
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da devil946 Visualizza il messaggio
    Grazie vic53, chiaramente ti riferisci a quello dentro il ciclo conta >29 , giusto?
    Comunque non ho risolto il mio problema.
    Qualche idea?
    Ricapitolando...
    tu esegui queste istruzioni
    1. Apri il recordset
    2 stampi la prima riga
    3 entri nel ciclo while ...
    3 fine ciclo...

    lo sai perchè stampi il record doppio? perche lo hai gia stampato fuori dal while...

    1 leggi la prima riga e la stampi
    2 entri nel ciclo while sotto la if not rs.eof
    3 stampi la riga
    esegui il comando rs.movenext
    e purtroppo devi ritestare il fatto di essere alla fine del recordset quindi un altro rs.eof...

    l'alternativa che ti suggerisco...


    togli la stampa del primo record fuori dal ciclo e usi solo la stampa nel ciclo

    leggi i primo record e poi al posto di while not rs.eof fai queste istruzioni:
    if not rs.eof
    conta=1
    do while not rs.eof

    ....
    stampa il record che ti serve eseguendo il conteggio etc
    ...
    rs.movenext
    loop
    fai le opportune modifiche e dimmi se va meglio

    ciao
    Ultima modifica di vic53; 10-12-2015 a 11:59
    Vic53

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    376
    Funziona, grazie 1000000
    Ho risolto così:
    verifico che il recordset sia pieno
    apro il recordset
    stampo le intestazioni della prima pagina
    conta=1
    while not rs.eof
    if conta <= 29 then
    stampo i valori nella prima pagina
    else
    stampo le intestaz e i valori nelle pagine succ
    end if
    movenext
    end if
    Che ne dici?
    Chi Crede in Me non Perirà MAI

  7. #7
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da devil946 Visualizza il messaggio
    Funziona, grazie 1000000
    Ho risolto così:
    verifico che il recordset sia pieno
    apro il recordset
    stampo le intestazioni della prima pagina
    conta=1
    while not rs.eof
    if conta <= 29 then
    stampo i valori nella prima pagina
    else
    stampo le intestaz e i valori nelle pagine succ
    end if
    movenext
    end if
    Che ne dici?


    *** forse...va bene ma ricontrolliamo

    dove incremente conta?

    quando lo resetti?

    fammi sapere se va bene per piu pagine...

    ciao
    Vic53

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.