Vanuit een Access formulier dynamisch order gegevens opvragen en vervolgens een verzend etiket afdrukken
- door Dirk van Campenhout
- •
- 18 apr, 2025
- •
- Hoe kan je vanuit een hoofdformulier met subformulier Order gegevens opvragen via een zoekveld?
- Hoe kan je een vooraf bij de order ingesteld etiket zichtbaar maken op het formulier?
- Hoe kan je het getoonde etiket afdrukken?
- In Access kan je veel voor elkaar krijgen met wizards, maar als je specifieke eindgebruikers wensen wilt instellen, dan komt er meer bij kijken. In dit blog ga ik onder andere uitleggen hoe je één en ander kunt oplossen met VBA (Visual Basic for Applications).
- De database die ik als voorbeeld gebruik is een soort verkoopsysteem. Er zitten tabellen in zoals: tblKlanten, tblOrders, tblOrderregels en tblProducten. Deze tabellen zijn met één op veel relaties aan elkaar gekoppeld.

- In de tabel tblOrders zit een extra veld Etiket waarin de naam staat van het verzend etiket dat bij die bij een specifieke Order gebruikt moet worden en op de doos moet worden geplakt.

- Er zijn twee etiketten gemaakt. Dit zijn rapporten. De recordbron is bij beide etiketten hetzelfde en er is een koppeling via criteria gemaakt. Het etiket wordt getoon aan de hand van de inhoud van het veld txtOrderID op het het formulier frmOrders.

- De rapporten van de etiketten zijn qua grootte/ formaat hetzelfde. Bij het tweede etiket staan de tekstvelden en de plaatjes 90 graden gedraaid.

- De tekst draaien wordt gedaan via de Eigenschap Verticaal onder Overige in de Ontwerpweergave van het rapport. Tip: maak een kopie van het Etiketten rapport waarin alles gewoon en recht staat en steld dan de Eigenschap Verticaal in op "Ja"
- De afbeeldingen kunnen in Access niet worden gedraaid. Tip: kopieer de plaatjes en draai ze 90 graden in een programma om afbeeldingen te bewerken en dan weer opslaan.

- Het formulier frmOrders in combinatie met de tabel tblOrderregels is met de wizard gemaakt.
- Hoe je formulier met subformulier maakt en optimaliseert (netjes maken) leer je in een training Access Gevorderd (zie mijn website: https://computerteach.nl/trainingen/access).
- Er zijn een aantal aanpassingen aangebracht.
- De Recordbron is mede afhankelijk van het OrderID dat wordt ingevuld

- In het ontwerp van het formulier frmOrders zijn de volgende extra besturingselementen toegevoegd:
- txtOrdersID ("Niet afhankelijk")
- Een subrapport met de naam rptEtiket. Het rapport is nog niet gekoppeld aan een Etiketten rapport. Daar zorgt VBA voor.
- Een knop met het bijschrift "Etiket afdrukken"

- Het besturingselement txtOrderID bevat VBA code.
- Deze code kan worden opgeroepen onder de eigenschap Na bijwerken in de categorie Gebeurtenissen (de Visual Basic Editor start dan op als je klikt op de drie puntjes). Het gaat hierom de procedure txtOrderID_AfterUpdate. Visual Basic kan je leren in de training Access VBA (zie mijn website: https://computerteach.nl/trainingen/vba)
- Zodra een OrderID getypt wordt in het veld txtOrderID wordt het formulier ververst na het indrukken van de TAB toets, worden de gegevens horende bij de Order en Orderdetails opgehaald en wordt de bron van het subformulier gekoppeld aan het Etiket behorende bij de Order en getoond.
- Achter de knop met de naam cmdAfdrukken hoort ook code en die hoort bij Eigenschap Bij Klikken onder Gebeurtenis.
- Als er op de knop geklikt, wordt het formulier ververst en wordt het Etiketten rapport geopend in de afdrukweergave.

- De formulierweergave van het formulier frmOrders start leeg op, omdat er nog geen OrderID bekend is

- Als je een OrderID invult en op TAB drukt worden de Order gegevens van de specifieke order ingelezen in combinatie met de Order details.
- Ook wordt het Etiketten rapport dat bij de Order hoort ingelezen met de verzend gegevens die daarbij horen.

- Bij een klik op de knop "Etiket Afdrukken" verschijnt het Etiketten rapport dat vervolgens geprint kan worden.

- Plaats de juiste Etiket blad in de printer en druk af.

Iedereen kan een blog maken:
In voor- en tegenspoed, iedereen kan ergens een blogpost over schrijven. Iedereen heeft een stem en de beste stemmen klinken overal bovenuit.
De schrijver kan zijn persoonlijkheid laten zien:
In blogposts, heeft de schrijver meer ruimte om zijn stem en persoonlijkheid te laten zien dat in andere manieren van schrijven.
Blogs zijn een geweldige manier van massacommunicatie:
U kunt mensen helpen, nieuwe dingen leren, uw publiek vermaken—de mogelikheden zijn eindeloos en verbluffend. Bloggen maakt dit alles mogelijk voor een zeer breed publiek.
U kunt er geld mee verdienen:
Als uw blog aanslaat, kunt u er veel geld mee verdienen via advertenties en gesponsorde posts.
Mensen kunnen er betere gedachten door vormen:
In plaats van lukrake, ongefundeerde Facebook-statussen te lezen, is het veel beter om de denkprocessen van mensen in een goedgeschreven blogpost te zien.
U kunt een gemeenschap stichten:
Bloggen stelt uw in staat om contact te leggen met andere personen die dezelfde interesses hebben. Ideeën en meningen delen binnen uw gemeenschap helpt u uzelf te profileren als een opiniemaker.
Goed for SEO:
Door inhoud op uw site actueel en relevant te houden, kunt u uw blog gebruiken om de zoekmachinepositie (SEO) van uw site en uw bedrijf te verbeteren.
Het brengt mensen terug naar uw site:
Als uw blog sterk genoeg is en regelmatig wordt bijgewerkt, zullen mensen terugkomen voor meer en ook aanloop naar uw site mee terugnemen.
Het is gratis:
Het kost u welgeteld nul dollar om naar de blog te posten, dus als u iets wilt zeggen is er niets wat u tegenhoudt.
U kunt uzelf profileren als een opiniemaker:
Een blog is een geweldige plek voor uw originele gedachten en het kan een prachtige manier zijn om uw persoonlijkheid te tonen. Als mensen uw ideeën waarderen, kunt u een opiniemaker in uw bedrijfstak worden!
Wat vindt u nog meer leuk aan blogs? Laat het me weten!
In voor- en tegenspoed, iedereen kan ergens een blogpost over schrijven. Iedereen heeft een stem en de beste stemmen klinken overal bovenuit.
De schrijver kan zijn persoonlijkheid laten zien:
In blogposts, heeft de schrijver meer ruimte om zijn stem en persoonlijkheid te laten zien dat in andere manieren van schrijven.
Blogs zijn een geweldige manier van massacommunicatie:
U kunt mensen helpen, nieuwe dingen leren, uw publiek vermaken—de mogelikheden zijn eindeloos en verbluffend. Bloggen maakt dit alles mogelijk voor een zeer breed publiek.
U kunt er geld mee verdienen:
Als uw blog aanslaat, kunt u er veel geld mee verdienen via advertenties en gesponsorde posts.
Mensen kunnen er betere gedachten door vormen:
In plaats van lukrake, ongefundeerde Facebook-statussen te lezen, is het veel beter om de denkprocessen van mensen in een goedgeschreven blogpost te zien.
U kunt een gemeenschap stichten:
Bloggen stelt uw in staat om contact te leggen met andere personen die dezelfde interesses hebben. Ideeën en meningen delen binnen uw gemeenschap helpt u uzelf te profileren als een opiniemaker.
Goed for SEO:
Door inhoud op uw site actueel en relevant te houden, kunt u uw blog gebruiken om de zoekmachinepositie (SEO) van uw site en uw bedrijf te verbeteren.
Het brengt mensen terug naar uw site:
Als uw blog sterk genoeg is en regelmatig wordt bijgewerkt, zullen mensen terugkomen voor meer en ook aanloop naar uw site mee terugnemen.
Het is gratis:
Het kost u welgeteld nul dollar om naar de blog te posten, dus als u iets wilt zeggen is er niets wat u tegenhoudt.
U kunt uzelf profileren als een opiniemaker:
Een blog is een geweldige plek voor uw originele gedachten en het kan een prachtige manier zijn om uw persoonlijkheid te tonen. Als mensen uw ideeën waarderen, kunt u een opiniemaker in uw bedrijfstak worden!
Wat vindt u nog meer leuk aan blogs? Laat het me weten!