Discussion:
mailmerge 1 brief, meerdere regels uit bronbestand
(te oud om op te antwoorden)
hugo B.
2008-11-17 12:02:02 UTC
Permalink
Hallo allen,

Ik wil met word 2003 brieven opstellen die gegevens uit Acces haalt.
Met behulp van mailmerge kom ik een aardig eind, maar toch niet helemaal.

Ik zal eerst even de brongegevens toelichten:
Ik heb in de 1e kolom een crediteurennummer, deze kan meer dan 1 keer
voorkomen.
Daar zit dan ook gelijk het probleem, alle regels met betrekking tot de
crediteur moeten op 1 pagina terechtkomen. (het liefst in een tabel in Word)
Met mailmerge maakt hij nu voor elke regel een brief aan, terwijl dit alleen
per crediteur moet. (zie tabel hieronder..)

crediteur factuur bedrag datum
1 1 10 11-11-2008
1 2 12 12-11-2008
2 1 11 13-11-2008
2 2 12 14-11-2008
2 3 12 15-11-2008
2 4 12 16-11-2008
2 5 1 17-11-2008
3 1 1 18-11-2008
3 2 13 19-11-2008
3 3 15 20-11-2008
3 4 15 21-11-2008
3 5 15 22-11-2008
3 6 51 23-11-2008
3 7 44 24-11-2008

Mijn vraag is dan ook, kan ik alle gegevens van crediteur 1 samenvoegen op 1
mailmerge brief?

Alvast hartelijk dank!!
Dave
2008-11-18 19:40:09 UTC
Permalink
Hugo,

Yes! Eindelijk iemand die ik kan helpen met mijn uitvinding! :-)

Ik ga even kort door de bocht, in de veronderstelling dat je het een en
ander zelf wel kunt regelen en maken, als je eenmaal het idee hebt.

Maak in Access een query met een draaitabel die zodanig is gemaakt dat hij
je het aantal keren geeft dat een credituer voorkomt. Dat getal is het enige
wat je van deze query moet plaatsen in de query die je gebruikt als data voor
de samenvoeg.

Nu kun je in Word aan de hand van dat getal en het NEXT IF commando door je
data heen fietsen, waarbij Word dus "weet" waar hij op moet houden en over
kan gaan op het afmaken van de brief en het aanmaken van een nieuwe brief.
M.a.w. je moet testen op {NEXT IF {mergefield Aantal} > 1 (en vervolgens 2,
3, 4 enz)} Dit commando moet je zodanig plaatsen en construeren, dat Word
alle volgende Als...dan formules overslaat / dus ze allemaal ziet als niet
waar.

De Als...dan formules, die de relevante data voor elke crediteur in de brief
plaatsen moeten in de brief net zo vaak herhaald worden als het hoogste
aantal keren dat de crediteur voorkomt. Dit kun je natuurlijk in de query van
tevoren zien door even de samen te voegen query te sorteren op het aantal
records. Zo kun je altijd je Samenvoeg Doc aanpassen, zodat hij genoeg
herhalende Als...dan formules heeft. Het is niet nodig om evt. extra
Als...dan formules te verwijderen, als de formulie eenmaal "onwaar" geeft,
slaat hij al het volgende ook over.

Het is even wat werk, maar je kunt gelukkig die als...dan formules kopieren
en plakken en vervolgens het aantal waarop hij filtert aanpassen. Het is wel
zaak om de Als...dan formule ontzettend goed in elkaar te zetten, zodat je
geen lege regels krijgt, maar wel alle data op een nieuwe regel. Kwestie van
het plaatsen van de Enter binnen de aanhalingsteken van de Als...dan
consequentie.

Hopelijk kun je er hiermee uitkomen.

David
Post by hugo B.
Hallo allen,
Ik wil met word 2003 brieven opstellen die gegevens uit Acces haalt.
Met behulp van mailmerge kom ik een aardig eind, maar toch niet helemaal.
Ik heb in de 1e kolom een crediteurennummer, deze kan meer dan 1 keer
voorkomen.
Daar zit dan ook gelijk het probleem, alle regels met betrekking tot de
crediteur moeten op 1 pagina terechtkomen. (het liefst in een tabel in Word)
Met mailmerge maakt hij nu voor elke regel een brief aan, terwijl dit alleen
per crediteur moet. (zie tabel hieronder..)
crediteur factuur bedrag datum
1 1 10 11-11-2008
1 2 12 12-11-2008
2 1 11 13-11-2008
2 2 12 14-11-2008
2 3 12 15-11-2008
2 4 12 16-11-2008
2 5 1 17-11-2008
3 1 1 18-11-2008
3 2 13 19-11-2008
3 3 15 20-11-2008
3 4 15 21-11-2008
3 5 15 22-11-2008
3 6 51 23-11-2008
3 7 44 24-11-2008
Mijn vraag is dan ook, kan ik alle gegevens van crediteur 1 samenvoegen op 1
mailmerge brief?
Alvast hartelijk dank!!
hugo B.
2008-11-19 09:12:00 UTC
Permalink
Hallo Dave,

Leuk om zo’n enthousiaste reply te zien!
Ik ben er vandaag mee aan de slag gegaan, het groeperen van een crediteur
lukt prima, maar dan telt hij het aantal records van de crediteur.

Hierdoor ontstaan dubbelen, wat volgens mij later weer voor problemen kan
zorgen..
Weer even terug naar de brongegevens:

crediteur Factuur bedrag datum
1 1 10 11-11-2008
1 2 12 12-11-2008
2 1 11 13-11-2008
2 2 12 14-11-2008
3 1 1 18-11-2008
3 2 13 19-11-2008
3 3 15 20-11-2008
3 4 15 21-11-2008
3 5 15 22-11-2008
3 6 51 23-11-2008
3 7 44 24-11-2008

Als je dit groepeert hebben crediteur 1 en 2 als waarde bij aantal of
count(*) 2.
Als voorbeeld:

crediteur Aantal
1 2
2 2
3 7
4 3
5 6
6 1
7 2
8 3

Als ik het dan goed begrijp zal deze bij mergefield met de formule als dan,
zal deze dus de verkeerde gegevens bevatten lijkt mij.

Of begrijp ik het niet helemaal?

Dank alvast!! mvrgr, Hugo
Post by Dave
Hugo,
Yes! Eindelijk iemand die ik kan helpen met mijn uitvinding! :-)
Ik ga even kort door de bocht, in de veronderstelling dat je het een en
ander zelf wel kunt regelen en maken, als je eenmaal het idee hebt.
Maak in Access een query met een draaitabel die zodanig is gemaakt dat hij
je het aantal keren geeft dat een credituer voorkomt. Dat getal is het enige
wat je van deze query moet plaatsen in de query die je gebruikt als data voor
de samenvoeg.
Nu kun je in Word aan de hand van dat getal en het NEXT IF commando door je
data heen fietsen, waarbij Word dus "weet" waar hij op moet houden en over
kan gaan op het afmaken van de brief en het aanmaken van een nieuwe brief.
M.a.w. je moet testen op {NEXT IF {mergefield Aantal} > 1 (en vervolgens 2,
3, 4 enz)} Dit commando moet je zodanig plaatsen en construeren, dat Word
alle volgende Als...dan formules overslaat / dus ze allemaal ziet als niet
waar.
De Als...dan formules, die de relevante data voor elke crediteur in de brief
plaatsen moeten in de brief net zo vaak herhaald worden als het hoogste
aantal keren dat de crediteur voorkomt. Dit kun je natuurlijk in de query van
tevoren zien door even de samen te voegen query te sorteren op het aantal
records. Zo kun je altijd je Samenvoeg Doc aanpassen, zodat hij genoeg
herhalende Als...dan formules heeft. Het is niet nodig om evt. extra
Als...dan formules te verwijderen, als de formulie eenmaal "onwaar" geeft,
slaat hij al het volgende ook over.
Het is even wat werk, maar je kunt gelukkig die als...dan formules kopieren
en plakken en vervolgens het aantal waarop hij filtert aanpassen. Het is wel
zaak om de Als...dan formule ontzettend goed in elkaar te zetten, zodat je
geen lege regels krijgt, maar wel alle data op een nieuwe regel. Kwestie van
het plaatsen van de Enter binnen de aanhalingsteken van de Als...dan
consequentie.
Hopelijk kun je er hiermee uitkomen.
David
Post by hugo B.
Hallo allen,
Ik wil met word 2003 brieven opstellen die gegevens uit Acces haalt.
Met behulp van mailmerge kom ik een aardig eind, maar toch niet helemaal.
Ik heb in de 1e kolom een crediteurennummer, deze kan meer dan 1 keer
voorkomen.
Daar zit dan ook gelijk het probleem, alle regels met betrekking tot de
crediteur moeten op 1 pagina terechtkomen. (het liefst in een tabel in Word)
Met mailmerge maakt hij nu voor elke regel een brief aan, terwijl dit alleen
per crediteur moet. (zie tabel hieronder..)
crediteur factuur bedrag datum
1 1 10 11-11-2008
1 2 12 12-11-2008
2 1 11 13-11-2008
2 2 12 14-11-2008
2 3 12 15-11-2008
2 4 12 16-11-2008
2 5 1 17-11-2008
3 1 1 18-11-2008
3 2 13 19-11-2008
3 3 15 20-11-2008
3 4 15 21-11-2008
3 5 15 22-11-2008
3 6 51 23-11-2008
3 7 44 24-11-2008
Mijn vraag is dan ook, kan ik alle gegevens van crediteur 1 samenvoegen op 1
mailmerge brief?
Alvast hartelijk dank!!
Dave
2008-11-20 10:46:01 UTC
Permalink
Hugo,

Het lijkt me dat je het niet goed begrijpt. Mijn probleem is echter dat ik
niet kan volgen wat je probleem precies is. Je schrijft: "Als ik het dan goed
begrijp zal deze bij mergefield met de formule als dan, zal deze dus de
verkeerde gegevens bevatten lijkt mij." Hier kan ik weer geen touw aan
vastknopen.

Wat bedoel je met "deze"?
Waarom zou "deze" de verkeerde gegevens bevatten?
Welke verkeerde gegevens? Waarom zouden er verkeerde gegevens komen te
staan. De "als...dan" formules houden op met gegevens weer te geven op het
moment dat het "aantal" voor elke crediteur bereikt is.

Het lijkt er op, dat je alleen de eerste helft van mijn oplossing toepast en
niet de tweede helft: de zeer gecompliceerde structuur van meerdere Als...dan
formules.

David
Post by hugo B.
Hallo Dave,
Leuk om zo’n enthousiaste reply te zien!
Ik ben er vandaag mee aan de slag gegaan, het groeperen van een crediteur
lukt prima, maar dan telt hij het aantal records van de crediteur.
Hierdoor ontstaan dubbelen, wat volgens mij later weer voor problemen kan
zorgen..
crediteur Factuur bedrag datum
1 1 10 11-11-2008
1 2 12 12-11-2008
2 1 11 13-11-2008
2 2 12 14-11-2008
3 1 1 18-11-2008
3 2 13 19-11-2008
3 3 15 20-11-2008
3 4 15 21-11-2008
3 5 15 22-11-2008
3 6 51 23-11-2008
3 7 44 24-11-2008
Als je dit groepeert hebben crediteur 1 en 2 als waarde bij aantal of
count(*) 2.
crediteur Aantal
1 2
2 2
3 7
4 3
5 6
6 1
7 2
8 3
Als ik het dan goed begrijp zal deze bij mergefield met de formule als dan,
zal deze dus de verkeerde gegevens bevatten lijkt mij.
Of begrijp ik het niet helemaal?
Dank alvast!! mvrgr, Hugo
Post by Dave
Hugo,
Yes! Eindelijk iemand die ik kan helpen met mijn uitvinding! :-)
Ik ga even kort door de bocht, in de veronderstelling dat je het een en
ander zelf wel kunt regelen en maken, als je eenmaal het idee hebt.
Maak in Access een query met een draaitabel die zodanig is gemaakt dat hij
je het aantal keren geeft dat een credituer voorkomt. Dat getal is het enige
wat je van deze query moet plaatsen in de query die je gebruikt als data voor
de samenvoeg.
Nu kun je in Word aan de hand van dat getal en het NEXT IF commando door je
data heen fietsen, waarbij Word dus "weet" waar hij op moet houden en over
kan gaan op het afmaken van de brief en het aanmaken van een nieuwe brief.
M.a.w. je moet testen op {NEXT IF {mergefield Aantal} > 1 (en vervolgens 2,
3, 4 enz)} Dit commando moet je zodanig plaatsen en construeren, dat Word
alle volgende Als...dan formules overslaat / dus ze allemaal ziet als niet
waar.
De Als...dan formules, die de relevante data voor elke crediteur in de brief
plaatsen moeten in de brief net zo vaak herhaald worden als het hoogste
aantal keren dat de crediteur voorkomt. Dit kun je natuurlijk in de query van
tevoren zien door even de samen te voegen query te sorteren op het aantal
records. Zo kun je altijd je Samenvoeg Doc aanpassen, zodat hij genoeg
herhalende Als...dan formules heeft. Het is niet nodig om evt. extra
Als...dan formules te verwijderen, als de formulie eenmaal "onwaar" geeft,
slaat hij al het volgende ook over.
Het is even wat werk, maar je kunt gelukkig die als...dan formules kopieren
en plakken en vervolgens het aantal waarop hij filtert aanpassen. Het is wel
zaak om de Als...dan formule ontzettend goed in elkaar te zetten, zodat je
geen lege regels krijgt, maar wel alle data op een nieuwe regel. Kwestie van
het plaatsen van de Enter binnen de aanhalingsteken van de Als...dan
consequentie.
Hopelijk kun je er hiermee uitkomen.
David
Post by hugo B.
Hallo allen,
Ik wil met word 2003 brieven opstellen die gegevens uit Acces haalt.
Met behulp van mailmerge kom ik een aardig eind, maar toch niet helemaal.
Ik heb in de 1e kolom een crediteurennummer, deze kan meer dan 1 keer
voorkomen.
Daar zit dan ook gelijk het probleem, alle regels met betrekking tot de
crediteur moeten op 1 pagina terechtkomen. (het liefst in een tabel in Word)
Met mailmerge maakt hij nu voor elke regel een brief aan, terwijl dit alleen
per crediteur moet. (zie tabel hieronder..)
crediteur factuur bedrag datum
1 1 10 11-11-2008
1 2 12 12-11-2008
2 1 11 13-11-2008
2 2 12 14-11-2008
2 3 12 15-11-2008
2 4 12 16-11-2008
2 5 1 17-11-2008
3 1 1 18-11-2008
3 2 13 19-11-2008
3 3 15 20-11-2008
3 4 15 21-11-2008
3 5 15 22-11-2008
3 6 51 23-11-2008
3 7 44 24-11-2008
Mijn vraag is dan ook, kan ik alle gegevens van crediteur 1 samenvoegen op 1
mailmerge brief?
Alvast hartelijk dank!!
jan
2008-11-20 13:18:09 UTC
Permalink
Hugo,

In aanvulling op het verhaal van Dave en van Peter (in de Access groep) heb ik een
aardigheidje bedacht waardoor de naam van de Crediteur slechts 1 keer per pagina
voorkomt en de factuurgegevens die bij die crediteur horen op die pagina verschijnen
in tabelvorm (met tabs, nog niet echt in tabel).

Daartoe moet in de database een query worden aangemaakt gebaseerd op de tabel met
facturen met alle relevante velden en een extra berekend veld waarin de aantallen
facturen staan per crediteur: fldAantal
Belangrijk daarbij is dat de query moet zijn gesorteerd op Crediteur.

In Word maak je een Samenvoegbestand Adreslijst en deze koppel je aan de gegevens
uit de bovengenoemde query.

In het bestand neem je een aantal velden op waarvan de beschrijving hieronder staat.
De accolades zijn de accolades die je krijgt als je een veld invoegt (bv met
Ctr+F9).
Voor de rest zet je de tekst tussen de veldaccolades zoals hier beschreven.

{ SET Tel{ IF { MERGEREC } = 1 1 { = tel +1 }} }{ IF { tel } = 1 { MERGEFIELD
"Crediteur" } ""}

{ MERGEFIELD "Factuur" } TAB { MERGEFIELD "Bedrag" }TAB { MERGEFIELD "Datum" \@
"dd-MM-yyyy"}{ IF { MERGEFIELD fldAantal } <= { tel } "...pagina-einde." "" }{ IF
{ MERGEFIELD fldAantal } <= { tel } { Set tel{ 0 } } }



waar ...pagina-einde. staat neem je echt een pagina-einde op: selecteer deze tekst
en druk op Ctrl+Enter.

waar TAB staat moet in werkelijkheid een tab worden ingevoerd.



In bovenstaande heb ik de veldnamen gebruikt zoals jij die in één van je berichten
noemde.

Uiteraard kan één en ander aangepast worden aan je eigen wensen.t.a.v. bijvoorbeeld
lay-out.



Kom je er niet uit, dan wil ik je met plezier een voorbeeld database en Word-bestand
sturen.

Laat dan je (verbasterde) adres hier even achter.



Jan
jan
2008-11-22 13:52:26 UTC
Permalink
Hugo,

Hoewel de belangstelling voor deze m.i. toch wel aardige, in elk geval eenvoudige,
oplossing niet bijster
groot lijkt te zijn :-), plaats ik hier een nog iets eenvoudiger oplossing.
Voorwaarde is nu slechts dat de eerder genoemde query gesorteerd moet zijn op
Crediteur wil je de gegevens van 1 crediteur op 1 blad hebben. Er is niet meer een
veld fldAantal nodig. Er wordt slechts op basis van de naam (of crediteurnummer?)
wel of niet een nieuwe
pagina gestart.
De combi van velden zou er dan zo uit kunnen zien:

{ IF { MERGEREC } = 1 "{ MERGEFIELD "Crediteur" }
{ SET nomen{ "" } }" { IF { MERGEFIELD "Crediteur" } = { nomen } "" "
.pagina-einde.{ MERGEFIELD "Crediteur" }
"}}
{ MERGEFIELD "Factuur" }TAB { MERGEFIELD "Bedrag" \# "? #.##0,00" } TAB{
MERGEFIELD "Datum" \@ "dd-MM-yyyy"}{ SET nomen{ MERGEFIELD "Crediteur" } }


ook hier weer:

...pagina-einde... moet in werkelijkheid een in het veld ingevoerde pagina-einde
zijn

TAB is in werkelijkheid een (tussen de velden) ingevoegde tab

Hugo, bedankt voor de vraagstelling, Dave bedankt voor het door jou gegeven antwoord
dat mij prikkelde om een oplossing als deze te verzinnen.

Jan
Post by jan
Hugo,
In aanvulling op het verhaal van Dave en van Peter (in de Access groep) heb ik een
aardigheidje bedacht waardoor de naam van de Crediteur slechts 1 keer per pagina
voorkomt en de factuurgegevens die bij die crediteur horen op die pagina
verschijnen in tabelvorm (met tabs, nog niet echt in tabel).
Daartoe moet in de database een query worden aangemaakt gebaseerd op de tabel met
facturen met alle relevante velden en een extra berekend veld waarin de aantallen
facturen staan per crediteur: fldAantal
Belangrijk daarbij is dat de query moet zijn gesorteerd op Crediteur.
In Word maak je een Samenvoegbestand Adreslijst en deze koppel je aan de gegevens
uit de bovengenoemde query.
In het bestand neem je een aantal velden op waarvan de beschrijving hieronder staat.
De accolades zijn de accolades die je krijgt als je een veld invoegt (bv met
Ctr+F9).
Voor de rest zet je de tekst tussen de veldaccolades zoals hier beschreven.
{ SET Tel{ IF { MERGEREC } = 1 1 { = tel +1 }} }{ IF { tel } = 1 { MERGEFIELD
"Crediteur" } ""}
"dd-MM-yyyy"}{ IF { MERGEFIELD fldAantal } <= { tel } "...pagina-einde." "" }{ IF
{ MERGEFIELD fldAantal } <= { tel } { Set tel{ 0 } } }
waar ...pagina-einde. staat neem je echt een pagina-einde op: selecteer deze tekst
en druk op Ctrl+Enter.
waar TAB staat moet in werkelijkheid een tab worden ingevoerd.
In bovenstaande heb ik de veldnamen gebruikt zoals jij die in één van je berichten
noemde.
Uiteraard kan één en ander aangepast worden aan je eigen wensen.t.a.v.
bijvoorbeeld lay-out.
Kom je er niet uit, dan wil ik je met plezier een voorbeeld database en
Word-bestand sturen.
Laat dan je (verbasterde) adres hier even achter.
Jan
hugo B.
2008-11-25 13:27:04 UTC
Permalink
Hallo Jan,

Super bedankt voor het meedenken!
Toch wil het mij maar niet geheel lukken..
na de merge krijg ik steeds maar 1 regel zien, en als ik next record er
tussen zet, dan laat hij wel de juiste 2e regel zien, maar dan gaat het op
pagina 2 weer mis..
Het groeperen lukt mij blijkbaar niet."

Hetgene wat Peter gemaakt heeft ziet er goed uit, maar is helaas ook niet
geheel toereikend..
Omdat dan alsnog alles per stuk gedaan moet worden wat nou juist net niet de
bedoeling was. (ook wel, maar als extraatje, per batch zou beter zijn)
Daarnaast zijn mijn VB skills niet toereikend om dit verder uit te bouwen.

Kun je mij hier verder mee helpen? als ik jou de uitkomst van de query
toezend in excel bijv?

Mvrgr, Hugo.
Post by jan
Hugo,
Hoewel de belangstelling voor deze m.i. toch wel aardige, in elk geval eenvoudige,
oplossing niet bijster
groot lijkt te zijn :-), plaats ik hier een nog iets eenvoudiger oplossing.
Voorwaarde is nu slechts dat de eerder genoemde query gesorteerd moet zijn op
Crediteur wil je de gegevens van 1 crediteur op 1 blad hebben. Er is niet meer een
veld fldAantal nodig. Er wordt slechts op basis van de naam (of crediteurnummer?)
wel of niet een nieuwe
pagina gestart.
{ IF { MERGEREC } = 1 "{ MERGEFIELD "Crediteur" }
{ SET nomen{ "" } }" { IF { MERGEFIELD "Crediteur" } = { nomen } "" "
..pagina-einde.{ MERGEFIELD "Crediteur" }
"}}
{ MERGEFIELD "Factuur" }TAB { MERGEFIELD "Bedrag" \# "? #.##0,00" } TAB{
....pagina-einde... moet in werkelijkheid een in het veld ingevoerde pagina-einde
zijn
TAB is in werkelijkheid een (tussen de velden) ingevoegde tab
Hugo, bedankt voor de vraagstelling, Dave bedankt voor het door jou gegeven antwoord
dat mij prikkelde om een oplossing als deze te verzinnen.
Jan
Post by jan
Hugo,
In aanvulling op het verhaal van Dave en van Peter (in de Access groep) heb ik een
aardigheidje bedacht waardoor de naam van de Crediteur slechts 1 keer per pagina
voorkomt en de factuurgegevens die bij die crediteur horen op die pagina
verschijnen in tabelvorm (met tabs, nog niet echt in tabel).
Daartoe moet in de database een query worden aangemaakt gebaseerd op de tabel met
facturen met alle relevante velden en een extra berekend veld waarin de aantallen
facturen staan per crediteur: fldAantal
Belangrijk daarbij is dat de query moet zijn gesorteerd op Crediteur.
In Word maak je een Samenvoegbestand Adreslijst en deze koppel je aan de gegevens
uit de bovengenoemde query.
In het bestand neem je een aantal velden op waarvan de beschrijving hieronder staat.
De accolades zijn de accolades die je krijgt als je een veld invoegt (bv met
Ctr+F9).
Voor de rest zet je de tekst tussen de veldaccolades zoals hier beschreven.
{ SET Tel{ IF { MERGEREC } = 1 1 { = tel +1 }} }{ IF { tel } = 1 { MERGEFIELD
"Crediteur" } ""}
"dd-MM-yyyy"}{ IF { MERGEFIELD fldAantal } <= { tel } "...pagina-einde." "" }{ IF
{ MERGEFIELD fldAantal } <= { tel } { Set tel{ 0 } } }
waar ...pagina-einde. staat neem je echt een pagina-einde op: selecteer deze tekst
en druk op Ctrl+Enter.
waar TAB staat moet in werkelijkheid een tab worden ingevoerd.
In bovenstaande heb ik de veldnamen gebruikt zoals jij die in één van je berichten
noemde.
Uiteraard kan één en ander aangepast worden aan je eigen wensen.t.a.v.
bijvoorbeeld lay-out.
Kom je er niet uit, dan wil ik je met plezier een voorbeeld database en
Word-bestand sturen.
Laat dan je (verbasterde) adres hier even achter.
Jan
jan
2008-11-25 14:37:03 UTC
Permalink
Higo,

Dat is prima.
Samenvoegen in Word kan ook met een Excelbestand prima overweg dus stuur maar naar
onderstaand adres:

jgkokXXXXfreelerPUNTnl

XXXX = @
PUNT = .

Jan
Post by hugo B.
Hallo Jan,
Super bedankt voor het meedenken!
Toch wil het mij maar niet geheel lukken..
na de merge krijg ik steeds maar 1 regel zien, en als ik next record er
tussen zet, dan laat hij wel de juiste 2e regel zien, maar dan gaat het op
pagina 2 weer mis..
Het groeperen lukt mij blijkbaar niet."
Hetgene wat Peter gemaakt heeft ziet er goed uit, maar is helaas ook niet
geheel toereikend..
Omdat dan alsnog alles per stuk gedaan moet worden wat nou juist net niet de
bedoeling was. (ook wel, maar als extraatje, per batch zou beter zijn)
Daarnaast zijn mijn VB skills niet toereikend om dit verder uit te bouwen.
Kun je mij hier verder mee helpen? als ik jou de uitkomst van de query
toezend in excel bijv?
Mvrgr, Hugo.
Post by jan
Hugo,
Hoewel de belangstelling voor deze m.i. toch wel aardige, in elk geval eenvoudige,
oplossing niet bijster
groot lijkt te zijn :-), plaats ik hier een nog iets eenvoudiger oplossing.
Voorwaarde is nu slechts dat de eerder genoemde query gesorteerd moet zijn op
Crediteur wil je de gegevens van 1 crediteur op 1 blad hebben. Er is niet meer een
veld fldAantal nodig. Er wordt slechts op basis van de naam (of crediteurnummer?)
wel of niet een nieuwe
pagina gestart.
{ IF { MERGEREC } = 1 "{ MERGEFIELD "Crediteur" }
{ SET nomen{ "" } }" { IF { MERGEFIELD "Crediteur" } = { nomen } "" "
..pagina-einde.{ MERGEFIELD "Crediteur" }
"}}
{ MERGEFIELD "Factuur" }TAB { MERGEFIELD "Bedrag" \# "? #.##0,00" } TAB{
....pagina-einde... moet in werkelijkheid een in het veld ingevoerde pagina-einde
zijn
TAB is in werkelijkheid een (tussen de velden) ingevoegde tab
Hugo, bedankt voor de vraagstelling, Dave bedankt voor het door jou gegeven antwoord
dat mij prikkelde om een oplossing als deze te verzinnen.
Jan
Post by jan
Hugo,
In aanvulling op het verhaal van Dave en van Peter (in de Access groep) heb ik een
aardigheidje bedacht waardoor de naam van de Crediteur slechts 1 keer per pagina
voorkomt en de factuurgegevens die bij die crediteur horen op die pagina
verschijnen in tabelvorm (met tabs, nog niet echt in tabel).
Daartoe moet in de database een query worden aangemaakt gebaseerd op de tabel met
facturen met alle relevante velden en een extra berekend veld waarin de aantallen
facturen staan per crediteur: fldAantal
Belangrijk daarbij is dat de query moet zijn gesorteerd op Crediteur.
In Word maak je een Samenvoegbestand Adreslijst en deze koppel je aan de gegevens
uit de bovengenoemde query.
In het bestand neem je een aantal velden op waarvan de beschrijving hieronder staat.
De accolades zijn de accolades die je krijgt als je een veld invoegt (bv met
Ctr+F9).
Voor de rest zet je de tekst tussen de veldaccolades zoals hier beschreven.
{ SET Tel{ IF { MERGEREC } = 1 1 { = tel +1 }} }{ IF { tel } = 1 { MERGEFIELD
"Crediteur" } ""}
"dd-MM-yyyy"}{ IF { MERGEFIELD fldAantal } <= { tel } "...pagina-einde." "" }{ IF
{ MERGEFIELD fldAantal } <= { tel } { Set tel{ 0 } } }
waar ...pagina-einde. staat neem je echt een pagina-einde op: selecteer deze tekst
en druk op Ctrl+Enter.
waar TAB staat moet in werkelijkheid een tab worden ingevoerd.
In bovenstaande heb ik de veldnamen gebruikt zoals jij die in één van je berichten
noemde.
Uiteraard kan één en ander aangepast worden aan je eigen wensen.t.a.v.
bijvoorbeeld lay-out.
Kom je er niet uit, dan wil ik je met plezier een voorbeeld database en
Word-bestand sturen.
Laat dan je (verbasterde) adres hier even achter.
Jan
hugo B.
2008-11-25 15:34:10 UTC
Permalink
Mailtje verstuurd!!
(Thanx!)
Post by jan
Higo,
Dat is prima.
Samenvoegen in Word kan ook met een Excelbestand prima overweg dus stuur maar naar
jgkokXXXXfreelerPUNTnl
PUNT = .
Jan
Post by hugo B.
Hallo Jan,
Super bedankt voor het meedenken!
Toch wil het mij maar niet geheel lukken..
na de merge krijg ik steeds maar 1 regel zien, en als ik next record er
tussen zet, dan laat hij wel de juiste 2e regel zien, maar dan gaat het op
pagina 2 weer mis..
Het groeperen lukt mij blijkbaar niet."
Hetgene wat Peter gemaakt heeft ziet er goed uit, maar is helaas ook niet
geheel toereikend..
Omdat dan alsnog alles per stuk gedaan moet worden wat nou juist net niet de
bedoeling was. (ook wel, maar als extraatje, per batch zou beter zijn)
Daarnaast zijn mijn VB skills niet toereikend om dit verder uit te bouwen.
Kun je mij hier verder mee helpen? als ik jou de uitkomst van de query
toezend in excel bijv?
Mvrgr, Hugo.
Post by jan
Hugo,
Hoewel de belangstelling voor deze m.i. toch wel aardige, in elk geval eenvoudige,
oplossing niet bijster
groot lijkt te zijn :-), plaats ik hier een nog iets eenvoudiger oplossing.
Voorwaarde is nu slechts dat de eerder genoemde query gesorteerd moet zijn op
Crediteur wil je de gegevens van 1 crediteur op 1 blad hebben. Er is niet meer een
veld fldAantal nodig. Er wordt slechts op basis van de naam (of crediteurnummer?)
wel of niet een nieuwe
pagina gestart.
{ IF { MERGEREC } = 1 "{ MERGEFIELD "Crediteur" }
{ SET nomen{ "" } }" { IF { MERGEFIELD "Crediteur" } = { nomen } "" "
..pagina-einde.{ MERGEFIELD "Crediteur" }
"}}
{ MERGEFIELD "Factuur" }TAB { MERGEFIELD "Bedrag" \# "? #.##0,00" } TAB{
....pagina-einde... moet in werkelijkheid een in het veld ingevoerde pagina-einde
zijn
TAB is in werkelijkheid een (tussen de velden) ingevoegde tab
Hugo, bedankt voor de vraagstelling, Dave bedankt voor het door jou gegeven antwoord
dat mij prikkelde om een oplossing als deze te verzinnen.
Jan
Post by jan
Hugo,
In aanvulling op het verhaal van Dave en van Peter (in de Access groep) heb ik
een
aardigheidje bedacht waardoor de naam van de Crediteur slechts 1 keer per pagina
voorkomt en de factuurgegevens die bij die crediteur horen op die pagina
verschijnen in tabelvorm (met tabs, nog niet echt in tabel).
Daartoe moet in de database een query worden aangemaakt gebaseerd op de tabel met
facturen met alle relevante velden en een extra berekend veld waarin de aantallen
facturen staan per crediteur: fldAantal
Belangrijk daarbij is dat de query moet zijn gesorteerd op Crediteur.
In Word maak je een Samenvoegbestand Adreslijst en deze koppel je aan de gegevens
uit de bovengenoemde query.
In het bestand neem je een aantal velden op waarvan de beschrijving hieronder
staat.
De accolades zijn de accolades die je krijgt als je een veld invoegt (bv met
Ctr+F9).
Voor de rest zet je de tekst tussen de veldaccolades zoals hier beschreven.
{ SET Tel{ IF { MERGEREC } = 1 1 { = tel +1 }} }{ IF { tel } = 1 { MERGEFIELD
"Crediteur" } ""}
"dd-MM-yyyy"}{ IF { MERGEFIELD fldAantal } <= { tel } "...pagina-einde." "" }{ IF
{ MERGEFIELD fldAantal } <= { tel } { Set tel{ 0 } } }
waar ...pagina-einde. staat neem je echt een pagina-einde op: selecteer deze
tekst
en druk op Ctrl+Enter.
waar TAB staat moet in werkelijkheid een tab worden ingevoerd.
In bovenstaande heb ik de veldnamen gebruikt zoals jij die in één van je
berichten
noemde.
Uiteraard kan één en ander aangepast worden aan je eigen wensen.t.a.v.
bijvoorbeeld lay-out.
Kom je er niet uit, dan wil ik je met plezier een voorbeeld database en
Word-bestand sturen.
Laat dan je (verbasterde) adres hier even achter.
Jan
hugo B.
2008-11-26 13:46:07 UTC
Permalink
Hallo Jan,



Het is helemaal PERFECT!

Het werkt volledig naar behoren!!!
Supersuper bedankt voor je handgemaakte oplossing!

met vriendelijke groet, Hugo
Post by jan
Higo,
Dat is prima.
Samenvoegen in Word kan ook met een Excelbestand prima overweg dus stuur maar naar
jgkokXXXXfreelerPUNTnl
PUNT = .
Jan
Post by hugo B.
Hallo Jan,
Super bedankt voor het meedenken!
Toch wil het mij maar niet geheel lukken..
na de merge krijg ik steeds maar 1 regel zien, en als ik next record er
tussen zet, dan laat hij wel de juiste 2e regel zien, maar dan gaat het op
pagina 2 weer mis..
Het groeperen lukt mij blijkbaar niet."
Hetgene wat Peter gemaakt heeft ziet er goed uit, maar is helaas ook niet
geheel toereikend..
Omdat dan alsnog alles per stuk gedaan moet worden wat nou juist net niet de
bedoeling was. (ook wel, maar als extraatje, per batch zou beter zijn)
Daarnaast zijn mijn VB skills niet toereikend om dit verder uit te bouwen.
Kun je mij hier verder mee helpen? als ik jou de uitkomst van de query
toezend in excel bijv?
Mvrgr, Hugo.
Post by jan
Hugo,
Hoewel de belangstelling voor deze m.i. toch wel aardige, in elk geval eenvoudige,
oplossing niet bijster
groot lijkt te zijn :-), plaats ik hier een nog iets eenvoudiger oplossing.
Voorwaarde is nu slechts dat de eerder genoemde query gesorteerd moet zijn op
Crediteur wil je de gegevens van 1 crediteur op 1 blad hebben. Er is niet meer een
veld fldAantal nodig. Er wordt slechts op basis van de naam (of crediteurnummer?)
wel of niet een nieuwe
pagina gestart.
{ IF { MERGEREC } = 1 "{ MERGEFIELD "Crediteur" }
{ SET nomen{ "" } }" { IF { MERGEFIELD "Crediteur" } = { nomen } "" "
..pagina-einde.{ MERGEFIELD "Crediteur" }
"}}
{ MERGEFIELD "Factuur" }TAB { MERGEFIELD "Bedrag" \# "? #.##0,00" } TAB{
....pagina-einde... moet in werkelijkheid een in het veld ingevoerde pagina-einde
zijn
TAB is in werkelijkheid een (tussen de velden) ingevoegde tab
Hugo, bedankt voor de vraagstelling, Dave bedankt voor het door jou gegeven antwoord
dat mij prikkelde om een oplossing als deze te verzinnen.
Jan
Post by jan
Hugo,
In aanvulling op het verhaal van Dave en van Peter (in de Access groep) heb ik
een
aardigheidje bedacht waardoor de naam van de Crediteur slechts 1 keer per pagina
voorkomt en de factuurgegevens die bij die crediteur horen op die pagina
verschijnen in tabelvorm (met tabs, nog niet echt in tabel).
Daartoe moet in de database een query worden aangemaakt gebaseerd op de tabel met
facturen met alle relevante velden en een extra berekend veld waarin de aantallen
facturen staan per crediteur: fldAantal
Belangrijk daarbij is dat de query moet zijn gesorteerd op Crediteur.
In Word maak je een Samenvoegbestand Adreslijst en deze koppel je aan de gegevens
uit de bovengenoemde query.
In het bestand neem je een aantal velden op waarvan de beschrijving hieronder
staat.
De accolades zijn de accolades die je krijgt als je een veld invoegt (bv met
Ctr+F9).
Voor de rest zet je de tekst tussen de veldaccolades zoals hier beschreven.
{ SET Tel{ IF { MERGEREC } = 1 1 { = tel +1 }} }{ IF { tel } = 1 { MERGEFIELD
"Crediteur" } ""}
"dd-MM-yyyy"}{ IF { MERGEFIELD fldAantal } <= { tel } "...pagina-einde." "" }{ IF
{ MERGEFIELD fldAantal } <= { tel } { Set tel{ 0 } } }
waar ...pagina-einde. staat neem je echt een pagina-einde op: selecteer deze
tekst
en druk op Ctrl+Enter.
waar TAB staat moet in werkelijkheid een tab worden ingevoerd.
In bovenstaande heb ik de veldnamen gebruikt zoals jij die in één van je
berichten
noemde.
Uiteraard kan één en ander aangepast worden aan je eigen wensen.t.a.v.
bijvoorbeeld lay-out.
Kom je er niet uit, dan wil ik je met plezier een voorbeeld database en
Word-bestand sturen.
Laat dan je (verbasterde) adres hier even achter.
Jan
b***@student.rug.nl
2017-05-17 11:40:12 UTC
Permalink
Beste Hugo,

Ik zit momenteel met een soortgelijk vraagstuk. Ik wil in een bericht aan medewerkers laten weten bij welke bijeenkomst zij zijn ingeroosterd. Enkele medewerkers zijn ingedeeld bij verschillende bijeenkomsten, en hebben daar verschillende rollen.

Ik wil graag dat alle bijeenkomsten en rollen in één bericht (een pagina) aan de desbetreffende medewerker komen, maar krijg vooralsnog niet meer dan één bijeenkomst tevoorschijn.

Ik heb nu:
{ SET Tel{ IF { MERGEREC } = 1 1 { = tel +1 }} }{ IF { tel } = 1 { MERGEFIELD
"Achtervoeg" } ""}

{ MERGEFIELD "Datum" } TAB { MERGEFIELD "Titel Sessie" }TAB { MERGEFIELD "Rol Sessie"}{IF { MERGEFIELD fldAantal } <= { tel } ENTER.ENTER." "" }{ IF
{ MERGEFIELD fldAantal } <= { tel } { Set tel{ 0 } } }

maar dit werkt vooralsnog niet zoals ik het graag zou zien. Kun je me misschien van advies voorzien?

Groeten, Babette
Post by jan
Hugo,
In aanvulling op het verhaal van Dave en van Peter (in de Access groep) heb ik een
aardigheidje bedacht waardoor de naam van de Crediteur slechts 1 keer per pagina
voorkomt en de factuurgegevens die bij die crediteur horen op die pagina verschijnen
in tabelvorm (met tabs, nog niet echt in tabel).
Daartoe moet in de database een query worden aangemaakt gebaseerd op de tabel met
facturen met alle relevante velden en een extra berekend veld waarin de aantallen
facturen staan per crediteur: fldAantal
Belangrijk daarbij is dat de query moet zijn gesorteerd op Crediteur.
In Word maak je een Samenvoegbestand Adreslijst en deze koppel je aan de gegevens
uit de bovengenoemde query.
In het bestand neem je een aantal velden op waarvan de beschrijving hieronder staat.
De accolades zijn de accolades die je krijgt als je een veld invoegt (bv met
Ctr+F9).
Voor de rest zet je de tekst tussen de veldaccolades zoals hier beschreven.
{ SET Tel{ IF { MERGEREC } = 1 1 { = tel +1 }} }{ IF { tel } = 1 { MERGEFIELD
"Crediteur" } ""}
"dd-MM-yyyy"}{ IF { MERGEFIELD fldAantal } <= { tel } "...pagina-einde." "" }{ IF
{ MERGEFIELD fldAantal } <= { tel } { Set tel{ 0 } } }
waar ...pagina-einde. staat neem je echt een pagina-einde op: selecteer deze tekst
en druk op Ctrl+Enter.
waar TAB staat moet in werkelijkheid een tab worden ingevoerd.
In bovenstaande heb ik de veldnamen gebruikt zoals jij die in één van je berichten
noemde.
Uiteraard kan één en ander aangepast worden aan je eigen wensen.t.a.v. bijvoorbeeld
lay-out.
Kom je er niet uit, dan wil ik je met plezier een voorbeeld database en Word-bestand
sturen.
Laat dan je (verbasterde) adres hier even achter.
Jan
Lees verder op narkive:
Loading...