Adresetiketten, 1 pagina met steeds hetzelfde record.

Status
Niet open voor verdere reacties.

Flupken

Gebruiker
Lid geworden
6 jul 2007
Berichten
30
Beste, uit deze raak ik niet uit.
Ik wil adresetiketten afdrukken op basis van een tabel. Alle records, geen probleem.
Ik wil echter per record enkel één pagina afdrukken (14 keer op 1 pagina met etiketten).
Ik zou jullie hulp wel kunnen gebruiken.

Grtn, Filip.
 
Voor zover ik weet is er geen trucje om, zoals in Word, een etiket te vullen met gegevens van één adres. Ook in Word kan dat, bij mijn weten, alleen als je de adressen zelf intypt, en niet via Afdruk Samenvoegen, maar dit terzijde. Maar ik heb wel een oplossing voor je.

En die is als volgt: maak een tijdelijke tabel, met 14 records. Het maakt niet uit wat er in staat, zolang het aantal records maar overeenkomt met het aantal etiketten dat je wilt hebben. Maak vervolgens een query op basis van de query of tabel die je wilt gebruiken voor de etiketten, en voeg daar ook de tijdelijke tabel aan toe. Deze tabel kun je uiteraard niet koppelen aan de echte tabel, maar dat is ook precies de bedoeling. Als je nu de adresvelden selecteert, en bijvoorbeeld oplopend sorteert op postcode+huisnummer, dan zul je zien dat je i.p.v. één record per adres, ineens 14 records per adres hebt. Je hebt namelijk een Cartetisch Produkt gemaakt; een query waarbij alle records van één tabel worden gecombineerd met alle records uit de andere tabel.
Deze query sla je op, en gebruik je als basis voor je etiketten. Je zult nu zien, dat je precies één pagina vult met één adres. Gebruik je een ander etikettensjabloon met bijvoorbeeld 20 stikkers, dan zorg je ervoor dat je in de tijdelijke tabel 20 records hebt staan, en klaar is-tie!
 
Voor zover ik weet is er geen trucje om, zoals in Word, een etiket te vullen met gegevens van één adres. Ook in Word kan dat, bij mijn weten, alleen als je de adressen zelf intypt, en niet via Afdruk Samenvoegen, maar dit terzijde. Maar ik heb wel een oplossing voor je.

En die is als volgt: maak een tijdelijke tabel, met 14 records. Het maakt niet uit wat er in staat, zolang het aantal records maar overeenkomt met het aantal etiketten dat je wilt hebben. Maak vervolgens een query op basis van de query of tabel die je wilt gebruiken voor de etiketten, en voeg daar ook de tijdelijke tabel aan toe. Deze tabel kun je uiteraard niet koppelen aan de echte tabel, maar dat is ook precies de bedoeling. Als je nu de adresvelden selecteert, en bijvoorbeeld oplopend sorteert op postcode+huisnummer, dan zul je zien dat je i.p.v. één record per adres, ineens 14 records per adres hebt. Je hebt namelijk een Cartetisch Produkt gemaakt; een query waarbij alle records van één tabel worden gecombineerd met alle records uit de andere tabel.
Deze query sla je op, en gebruik je als basis voor je etiketten. Je zult nu zien, dat je precies één pagina vult met één adres. Gebruik je een ander etikettensjabloon met bijvoorbeeld 20 stikkers, dan zorg je ervoor dat je in de tijdelijke tabel 20 records hebt staan, en klaar is-tie!

Michel, dank je voor deze oplossing.
Ik ga deze wijze uitproberen.
Grtn, Filip.
 
Bovendien is de tijdelijke tabel wel zo makkelijk.... Als je altijd dezelfde instellingen gebruikt, kun je de tabel verbergen, zodat hij niet per abuis wordt veranderd of verwijderd. En je hoeft er dus niks voor te programmeren.... :)
 
Bovendien is de tijdelijke tabel wel zo makkelijk.... Als je altijd dezelfde instellingen gebruikt, kun je de tabel verbergen, zodat hij niet per abuis wordt veranderd of verwijderd. En je hoeft er dus niks voor te programmeren.... :)

Michel,

Ik heb al de nodige tabellen & query's gemaakt.
Werkt net zoals je het uitlegde, dank je!
Nu nog een aantal query's maken per bestemmeling (want ik wil niet altijd alle bestemmelingen afdrukken)
en daarop de adresetiketten (rapporten). eventjes werk maar dat hoeft slechts één keer te gebeuren.
Dank voor de hulp.
Ik zal deze topic als opgelost markeren.
Grtn, Filip.
 
Als je alleen met die database werkt dan kun je het op deze manier doen.
In elk ander geval, is het maken van een tijdelijke tabel wel een heel knullige oplossing, temeer daar je door een paar regels code het anders en beter kunt regelen.
 
Als je alleen met die database werkt dan kun je het op deze manier doen.
In elk ander geval, is het maken van een tijdelijke tabel wel een heel knullige oplossing, temeer daar je door een paar regels code het anders en beter kunt regelen.

Harry,

Ik ben niet zo erg thuis in die codes.
Mss kun je eens een voorbeeld van die codes geven zodat ik kan zien of ik het aankan.

Grtn, Filip.
 
Filip,

In de meest eenvoudige vorm is de code zo:
Code:
Option Compare Database
Option Explicit

Dim iAantalEtiketten As Integer

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
        If PrintCount < iAantalEtiketten Then
            Me.NextRecord = False
        End If
End Sub

Private Sub Report_Open(Cancel As Integer)
  iAantalEtiketten = 14
End Sub

Een andere mogelijkheid is om aan te geven waar op het labelformulier er moet worden begonnen met printen.

In mijn programma's geef ik gebruikers mogelijkheden om naast aantal en beginpositie, ook welke labels er geprint moeten worden. Tevens kan men zelf het format definiëren (3x7, 3x8 enz)
 
Filip,

In de meest eenvoudige vorm is de code zo:
Code:
Option Compare Database
Option Explicit

Dim iAantalEtiketten As Integer

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
        If PrintCount < iAantalEtiketten Then
            Me.NextRecord = False
        End If
End Sub

Private Sub Report_Open(Cancel As Integer)
  iAantalEtiketten = 14
End Sub

Een andere mogelijkheid is om aan te geven waar op het labelformulier er moet worden begonnen met printen.

In mijn programma's geef ik gebruikers mogelijkheden om naast aantal en beginpositie, ook welke labels er geprint moeten worden. Tevens kan men zelf het format definiëren (3x7, 3x8 enz)

Harry,
deze code kan ik lezen. Ik wil enkel kunnen kiezen welke label/record er 14 keer moet afgedrukt worden.
Altijd 14 etiketten en altijd beginnen op dezelfde positie.

Grtn, Filip.
 
Het kiezen van een record kan op verschillende manieren gebeuren.
Je kunt een enkelvoudig of een doorlopend formulier maken op basis van de 'adrestabel'
Je kunt een formulier maken met een keuzelijst of keuzelijst met invoervak.

Het openen van het rapport met de labels gaat dan altijd via een ingevuld 'where' argument van de 'OpenReport' functie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan