Newsgroup: it.comp.appl.access
Titolo: stampa etichette da una certa posizione A4 in poi

ho delle etichette 70x36 su foglio A4 per un totale di 24 etichette
3 per ogni riga, avrei necessità di poter indicare da quale etichetta in poi stampare le mie etichette 
 
esempio:
devo stampare 4 etichette ma le prima 5 etichette sono già state stampate
quindi dovrò potergli dire ad access di stampare dalla posizione 6 che è l'etichetta in seconda fila alla destra e le altre 3 sotto alla terza riga
 
come potrei fare?


Presumo che, se il DB è correttamente normalizzato, il tuo report abbia le dimensioni di una sola etichetta e non di un intero foglio A4.
In questo caso lavorando con le proprietà PrintSection, NextRecord e MoveLayout nell'evento Print del corpo puoi far lasciare delle etichette vuote all'inizio.
Vedi help F1 per l'uso delle proprietà.
Ciao.
-Marco-
 
 
 


Ottimo consiglio proverò a fare cosi. grazie.


Nulla da fare ho provato ma non riesco a ottenere ciò che mi serve, mi spiego meglio ho creato un report costituito da una piccola etichetta 7 cm x 3 cm praticamente stampo 3 etichette per ogni riga per un totale di 24 etichette su un foglio A4 
 
""dovrei poter dire al database"", inizia a stampare le etichette dalla etichetta 5 quindi salterà le prime 3 etichette della prima riga e salterà la prima della seconda riga iniziando appunto dalla 5° etichetta
 
qualcuno a qualche esempio di come ottenere questa funzione utilizzando
PrintSection, NextRecord e MoveLayout come mi è stato consigliato nel messaggio precedente?
 
Grazie.
 


Le proprietà, come avrai visto dall'help, servono:
- a stampare/non stampare la sezione
- a spostare o non spostare il cursore sul prossimo record dell'origine dati
- a spostare o non spostare la posizione sul foglio in cui verranno stampati i dati
Con le varie combinazioni di queste si possono ottenere parecchie cose.
 
Quindi nel tuo caso, per le prime N etichette che vuoi vuote:
- devi spostare la posizione di stampa perchè devi stampare più avanti nel foglio quindi MoveLayout sarà sempre True
- NON devi stampare la sezione (PrintSection=False) altrimenti anziché lasciarle vuote stamperebbe N volte il promo indirizzo
- NON devi spostare il cursore (NextRecord=False) altrimenti quando inizia a stampare avrà saltato i primi record che non appariranno
 
Devi dichiarare una variabile a livello di modulo (fuori dalle sub):
Dim Vuote As Long
 
 
Su apertura del report imposti il numero di etichette vuote, prendendolo da una maschera presumo, se lo fai inserire all'utente:
 
Private Sub Report_Open(Cancel As Integer)
    Vuote = Nz(Forms("Stampa etichette")![NumVuote], 0)
End Sub
 
 
Sulla stampa del corpo lasci le due proprietà a False per N volte, così salterà le prime etichette:
 
Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)
    If Vuote > 0 Then
        Me.PrintSection = False
        Me.NextRecord = False
        Vuote = Vuote - 1
    Else
        Me.PrintSection = True
        Me.NextRecord = True
    End If
End Sub
 
Ciao.
-Marco-
 


Adesso ho finalmente risolto, grazie.
Per saltare le etichette solo alla prima pagina ho applicato quel codice all'interno di un IF page=1 THEN cosi nelle successive non salta etichette in quanto i fogli successivi saranno nuovi e senza etichette già usate
 
Oltre al tuo esempio ho preso spunto anche da un esempio presente sul sito comune che utilizza lo stesso metodo.
 
grazie ancora.