Newsgroup: it.comp.appl.access
Titolo: Problema con Es Sito comune 4.15 Stampare N volte la stessa etichetta, lasciando vuote in testa un certo numero di etichette.

Ciao a tutti,
ho utilizzato il codice presente sul Sito Comune per stampare un report 
contenente etichette con la possibilità di indicare il numero di copie e la 
posizione della prima etichetta da cui stampare.
Ho inserito il modulo "ModSkipLabel" sul mio db ed ho importato il report 
rptSaltaEtichette:
Il report ha le seguenti impostazioni
su Apertura =LabelSetup()
suAttivazione = LabelInitialize()
il corpo ha la seguente impostazione:
su Stampa = LabelLayout([Report]![rptSaltaEtichette])
Ho poi modificato il report collegandolo ad una tabelle e inserito i 
controlli opportuni con intestazione, indirizzo ecc.
Questo report non ha alcun problema e viene visualizzato in anteprima 
correttamente.
Se salvo con altro nome il report e modifico l'impostazione su stampa con il 
nome aggiornato (es rptEtichette70x25) , in anteprima mi appaiono le 
finestre con le richieste dei parametri ma subito dopo mi appare il 
emssaggio "errata corrispondenza tra i tipi ecc. ecc."
Ho bisogno di due report distinti di etichette (per due diversi formati), 
altrimenti userei quello che funziona e ciccia.
Il modulo ModSkipLabel è il seguente
    Dim intLabelBlanks As Integer
    Dim intLabelCopies As Integer
    Dim intBlankCount As Integer
    Dim intCopyCount As Integer
      '==================================================================
         ' La seguente funzione viene eseguita al momento dell'esecuzione
         ' del report e permette all'utente, tramite due inputbox di
         ' digitare il numero di etichette usate da saltare quante
         ' copie di ogni etichetta devono essere stampate.
      '==================================================================
      Function LabelSetup()
        intLabelBlanks = Val(InputBox$("Digita il numero di etichette da 
lasciare bianche all'inizio"))
        intLabelCopies = Val(InputBox$("Digita il numero di copie da 
stampare per ogni etichetta"))
        If intLabelBlanks < 0 Then intLabelBlanks = 0
        If intLabelCopies < 1 Then intLabelCopies = 1
      End Function
      '===========================================================
         ' La seguente funzione imposta a zero le variabili
      '===========================================================
      Function LabelInitialize()
         intBlankCount = 0
         intCopyCount = 0
      End Function
      '===============================================================
         ' La seguente funzione è la parte principale di questo codice
         ' che permette alle etichette di essere stampate come
         ' desiderato dall'utente
      '===============================================================
      Function LabelLayout(R As Report)
      'On Error GoTo Err_Comando4_Click
         If intBlankCount < intLabelBlanks Then
            R.NextRecord = False
            R.PrintSection = False
            intBlankCount = intBlankCount + 1
         Else
            If intCopyCount < (intLabelCopies - 1) Then
               R.NextRecord = False
               intCopyCount = intCopyCount + 1
            Else
               intCopyCount = 0
            End If
         End If
Exit_Comando4_Click:
    Exit Function
Err_Comando4_Click:
    MsgBox Err.Description
    Resume Exit_Comando4_Click
      End Function
Grazie mille
-- 
Nina 

 Nina
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------

 Roberto
Ciao Nina


 Ciao Nina
-- 
Roberto


 ha scritto nel messaggio 
news:EG2Gf.165942$65.46...@twister1.libero.it...

grazie lo stesso
Ciao
Nina


 Nina
Ciao, scusa, mi č venuto in mente che potresti, se ti va e se hai un po' di 
tempo, scaricare il file d'esempio dal sito comune e fare le prove sul file 
stesso. Io ho provato, ma niente da fare, su una copia del report (ferma 
restando la modifica dell'evento su stampa) mi da sempre lo stesso problema!
Ti ringrazio,


 Ti ringrazio,
Prego


 ha scritto nel messaggio 
news:WijGf.84415$eD5.1...@twister2.libero.it...

Ciao Roberto, ti ringrazio per avere effettuato la prova (scusami, non 
ricordavo che l'esempio fosse tuo).
A questo punto non riesco a capire dove io possa sbagliare visto che fare un 
salva con nome e modificare l'impostazione su stampa non sono operazioni 
così complesse che possano comportare da parte mia chissà quale errore di 
distrazione o altro !! L'unico dubbio che mi rimane è che ci sia qualche 
cosa legata alla conversione del database da Access 97 a Access 2000, 
chissà...
Grazie ancora
Ciao
Nina


 Roberto
Confermo che il demo di Roberto funziona perfettamente utilizzandolo
in un mio progetto con somma soddisfazione.
Consiglio Nina di far partire il debug e passo passo vedere cosa è che
non gli torna.
Morgan 

 ha scritto nel messaggio 
news:43e9d1d3$0$28069$4faf...@reader1.news.tin.it...

Ciao Morgan,
grazie del consiglio, ma ho fatto esattamente quello che vi ho detto e 
l'errore che mi appare è sull'utilizzo del modulo label layout (l'errore è 
"Errata corrispondenz atra i tipi, ecc. ecc." ). Se fosse possibile vi 
spedirei copia del db, per verificare il db modificato da me
Ciao
Nina 

 ha scritto nel messaggio 
news:43eafb7c$0$12593$4faf...@reader3.news.tin.it...

Modulo?
Vorrai dire funzione.
E' questa?
Function LabelLayout(R As Report)
         If intBlankCount < intLabelBlanks Then
            R.NextRecord = False
            R.PrintSection = False
            intBlankCount = intBlankCount + 1
         Else
            If intCopyCount < (intLabelCopies - 1) Then
               R.NextRecord = False
               intCopyCount = intCopyCount + 1
            Else
               intCopyCount = 0
            End If
         End If
      End Function
Morgan 

 ha scritto nel messaggio 
news:43eb063e$0$28062$4faf...@reader1.news.tin.it...

Si, proprio questa (scusami ho sbagliato termine)
Ciao Nina 

 Ciao Nina
Hai provato a compilare il codice?
La funzione accetta una variabile come report,hai controllato cosa gli 
arriva?
Morgan 

 ha scritto nel messaggio 
news:43eb1f0d$0$28065$4faf...@reader1.news.tin.it...

Ciao Morgan innanzitutto ti ringrazio per l'attenzione!
Ho provato a comiplare il codice e lo fa tranquillamente senza segnalarmi 
alcun errore.
Ho modificato la funzione in questo modo
Function LabelLayout(r As Report)
      Debug.Print r.Name
         If intBlankCount < intLabelBlanks Then
            r.NextRecord = False
            r.PrintSection = False
            intBlankCount = intBlankCount + 1
         Else
            If intCopyCount < (intLabelCopies - 1) Then
               r.NextRecord = False
               intCopyCount = intCopyCount + 1
            Else
               intCopyCount = 0
            End If
         End If
      End Function
Se mando in anteprima il report "rptSaltaEtichette" mi appare nella finestra 
immediata il nome del report, se mando in anteprima il report copia 
"rptSaltaEtichette2" mi appare il seguente messaggio:
"L'espressione Su stampa immessa come impostazione della proprietà di evento 
ha provocato il seguente errore:
"Corrispondenza errata tra i tipi" ecc. ecc. Nella finestra immediata non 
viene scritto niente, quindi il problema sta proprio nel passaggio nome del 
report alla funzione, ma non riesco a capire che differenza ci sia tra i due 
report e soprattutto che differenza ci sia nel passaggio del report alla 
funzione visto che uso la stessa identica espressione sull'evento su stampa 
(ovviamete con nome report diverso).
Ho verificato lo stesso db su un altro PC (non si sa mai), ma niente
Se non ti chiedo troppo, non è che posso spedirti via e-mail il database in 
cui ho fatto le prove con la copia del report?
Non so più che prove fare
Grazie mille
Nina 

 ha scritto nel messaggio 
news:43eb2359$0$5981$4faf...@reader2.news.tin.it...

Invialo qui
j.er...@email.it
Morgan 

>> [CUT]
CUT>>

Grazie, te l'ho appena inviato.
Ciao Nina