etiketten afdrukken

Status
Niet open voor verdere reacties.

ronnie123

Gebruiker
Lid geworden
21 nov 2007
Berichten
595
beste forum leden
ik wil graag als ik etiketten afdruk aan kunnen geven vanaf welk etiket op het vel er afgedrukt moet worden, ben het een keer tegen gekomen maar kan het niet meer terug vinden.
kan iemand me hier mee helpen?
bvd ronnie
 
Ik heb dat een keer gedaan met VBA, weet niet of je hiermee vertrouwd bent?

Code:
Option Compare Database
Option Explicit


Dim byt_teller As Byte
Dim byt_AantalOverslaan As Byte
'

Private Sub Report_Open(Cancel As Integer)
        byt_teller = 0
        'hoeft eigenlijk niet, wordt sowieso als 0 geïnitialiseerd
        byt_AantalOverslaan = InputBox("Hoe veel etiketten wilt u overslaan?", , 2)
End Sub

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
'Als je bvb. 2 etiketten wil overslaan kan je het eerste 3 keer drukken,
'waarvan de 2 eerste keren onzichtbaar.
    
    Dim bln_NietNaarVolgend As Boolean, besturingselement As Control
    bln_NietNaarVolgend = (byt_teller < byt_AantalOverslaan)
    
    'rechterkant resulteert in true (-1) of false (0)
    'eerste keer: teller = 0, dus kleiner dan 2
    'in een volgende stap wordt de teller al dan niet met 1 verhoogd
    'tweede keer: teller = 1, dus kleiner dan 2
    'derde keer:teller = 2, dus niet kleiner dan 2 en bln_NietNaarVolgend wordt false

    Me.NextRecord = Not bln_NietNaarVolgend
    'indien bln_NietNaarVolgend = true dan nextrecord false
    byt_teller = byt_teller - bln_NietNaarVolgend
    'eerste keer: byt_teller wordt 0 -(-1) = 1
    'tweede keer: byt_teller wordt 1 -(-1) = 2
    'derde keer: byt_teller wordt 2 -(-1) = 3
    
    For Each besturingselement In Me.Controls
        besturingselement.Visible = Not bln_NietNaarVolgend
        'eerste en tweede etiket: visible = false want bln_NietNaarVolgend = true
        'derde etiket: terug zichtbaar
    Next
    
End Sub
 
hallo reneemettrie
bedankt voor je reactie,ik ben niet zo bekend met VBA.
zet ik dit zo achter een knop of moet er meer gebeuren,druk ze nu af met een macro die eerst een query uitvoert en daarna het raport opent met de etiketten.
hoop dat je me verder kunt helpen
ronnie
 
Je gaat naar de formuliereigenschappen en bij de categorie “Event” naar het Open Event
Je komt in de VBA Editor
Bovenaan zie je 2 keuzelijsten: links wat je gaat programmeren, in dit geval “report”, rechts de gebeurtenis, in dit geval “Open

De eerste en de laatste lijn van wat volgt staat er al, de rest zet je ertussen:

Code:
Private Sub Report_Open(Cancel As Integer)
        byt_teller = 0
        'hoeft eigenlijk niet, wordt sowieso als 0 geïnitialiseerd
        byt_AantalOverslaan = InputBox("Hoe veel etiketten wilt u overslaan?", , 2)
End Sub

Nu kies je in de linker keuzelijst “detail”, en rechts de event “Format”.
Daar voer je de volgende code in (eerste en laatste lijn staan er al):

Code:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
'Als je bvb. 2 etiketten wil overslaan kan je het eerste 3 keer drukken,
'waarvan de 2 eerste keren onzichtbaar.
    
    Dim bln_NietNaarVolgend As Boolean, besturingselement As Control
    bln_NietNaarVolgend = (byt_teller < byt_AantalOverslaan)
    
    'rechterkant resulteert in true (-1) of false (0)
    'eerste keer: teller = 0, dus kleiner dan 2
    'in een volgende stap wordt de teller al dan niet met 1 verhoogd
    'tweede keer: teller = 1, dus kleiner dan 2
    'derde keer:teller = 2, dus niet kleiner dan 2 en bln_NietNaarVolgend wordt false

    Me.NextRecord = Not bln_NietNaarVolgend
    'indien bln_NietNaarVolgend = true dan nextrecord false
    byt_teller = byt_teller - bln_NietNaarVolgend
    'eerste keer: byt_teller wordt 0 -(-1) = 1
    'tweede keer: byt_teller wordt 1 -(-1) = 2
    'derde keer: byt_teller wordt 2 -(-1) = 3
    
    For Each besturingselement In Me.Controls
        besturingselement.Visible = Not bln_NietNaarVolgend
        'eerste en tweede etiket: visible = false want bln_NietNaarVolgend = true
        'derde etiket: terug zichtbaar
    Next
    
End Sub

Ten slotte kies je in de linker keuzelijst “general”, en daar zet je het volgende:

Option Compare Database
Option Explicit

Code:
Dim byt_teller As Byte
Dim byt_AantalOverslaan As Byte
Wat je hier doet is 2 variabelen definiëren die in de bovenstaande “Subs” bekend zullen zijn.
Waar hier een accentje voorstaat is niet nodig, dat is commentaar.

Om vanuit de VBA Editor terug in Access te geraken kan je o.a. ALT F11 gebruiken.
 
hallo reneemettrie
als ik een verkleinde versie van mijn database upload zou jij het dan op de juiste plek willen zetten want dit snap ik niet.
bvd ronnie
 
hallo reneemettrie
als ik een verkleinde versie van mijn database upload zou jij het dan op de juiste plek willen zetten want dit snap ik niet.
bvd ronnie

EtiketRapport en liefst de bron ervan (tabel of query) zou moeten volstaan.
Zonder bron gaat het ook, maar dan kan ik het niet testen.
Zal wel iets voor in het WE worden.
 
Ronnie, de code van Renee is helemaal compleet; eigenlijk hoef je die alleen maar te kopieren en te plakken in je etikettenrapport. Dus, als je het rapport in de Ontwerpweergave opent, druk je gelijk op <Alt>+<F11>. Je komt dan in het VBA scherm. Alles wat daar staat (er vanuit gaande dat je zelf nog niks gemaakt hebt) kun je selecteren en verwijderen. Vervolgens plak je de code van renee, en sla je het rapport weer op. De code staat dan gelijk bij de juiste gebeurtenissen. en is gebruiksklaar.
 
Hallo michel
ook bedankt voor je reactie
ik had begrepen uit topic 4 dat ik via formuliereigenschappen naar vba moest gaan en daar kwam ik niets tegen later ging ik via het raport naar vba en toen werdt het me al iets duidelijker.
ga nog verder stoeien
grt ronnie
 
Ik heb hier een voorbeeldje, waar het nog ietsje anders is opgelost. Misschien heb je er wat aan...
 

Bijlagen

  • Etiketten Printen op A4 vel_XP.rar
    32,4 KB · Weergaven: 25
bedankt Michel
dit ga ik ook bestuderen.
laat het weten of het gelukt is
grt ronnie
 
beste reneemettrie en michel
ik kom niet verder dan de vraag hoeveel labels ik wil overslaan,als ik dan wat invul begint het evengoed bij de eerste label.
wat doe ik fout?
heb mijn bestandje bijgesloten
grt ronnie
 

Bijlagen

  • test bestand.rar
    32,4 KB · Weergaven: 16
Eigenlijk heb ik geen idee waarom hij het bij jou niet zou doen; deze versie is in ieder geval getest, en werkend.
 

Bijlagen

  • test bestand.rar
    21,8 KB · Weergaven: 25
hallo michel
deze doet het bij mijn ook, en je hebt er niets aan veranderd?
bedankt voor de hulp
grt ronnie
 
Ik heb de code er opnieuw ingezet, maar bij een (vluchtige, dat wel) inspectie leek hij toch hetzelfde te zijn. Misschien waren de gebeurtenissen bij jou nog niet gekoppeld; dat heb ik nog wel gecheckt. Maar fijn dat-ie het nu doet!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan