huidige record in word samenvoegen

Status
Niet open voor verdere reacties.

8Leonie8

Gebruiker
Lid geworden
7 jul 2008
Berichten
61
ik heb in mijn database een formulier waarin ik gegevens van een klant kan invoeren/wijzigen. Vervolgens heb ik een opdrachtknop gekoppeld aan een macro. Als ik op de knop druk opent een word document welke gekoppeld is aan de access database.

Tot zover goed, maar Ik moet dan alleen in word nog wel de juiste record opzoeken bij 'Geadresseerden voor afdruk samenvoegen' en vervolgens 'Samenvoegen naar een nieuwe document'.

Hoe kan ik de laatst gewijzigde record automatisch samenvoegen naar word?? (het liefst zonder VBA want daar heb ik nog niet zoveel kaas van gegeten...)

Groetjes Leonie
 
Goeie link! Heb alleen nog wel een paar vraagjes...

Om alleen de huidige record te selecteren staat er in het voorbeeld:

"De recordset bestaat slechts uit één gast, omdat de code onder de knop: "Print" eerst de waarde van een variabele had ingesteld met het id van de geslecteerde gast voor de bijeenkomst. De query die de basis vormt voor de recordset haalt deze waarde weer op. Zo beperkt de query en de recordset zich tot één gast van de bijeenkomst."

Ik geloof niet dat dit bij mijn database ook van toepassing is. In het formulier navigeer ik gewoon naar de juiste record, en deze wil ik vervolgens openen in Word. Hoe kan ik dit oplossen??


Daarnaast staat in het voorbeeld welke code je aan moet maken om het Word document aan te roepen. Ik heb echter via een wizard in het formulier een knop aangemaakt die een macro aanroept. De wizard heeft automatisch de code aangemaakt waarmee Word wordt geopend.
-----------------------------------------------------------------------------------------------------------------------------------
Private Sub Knop100_Click()
On Error GoTo Err_Knop100_Click

Dim oApp As Object

Set oApp = CreateObject("Word.Application")
oApp.Visible = True

Exit_Knop100_Click:
Exit Sub

Err_Knop100_Click:
MsgBox Err.Description
Resume Exit_Knop100_Click

End Sub
-----------------------------------------------------------------------------------------------------------------------------------
In de macro die aangeroepen wordt staat vervolgens welk Word document geopend moet worden -> Toepassing uitvoeren -> winword.exe "C:\Leonie\Document1.doc"

In dit Word document maak ik vervolgens geen gebruik van bookmarks zoals in het voorbeeld wordt genoemd, maar van invoegvelden.

Welke aanpassingen moet ik maken??

Het is een heel verhaal, maar ik hoop dat het duidelijk is! Bij voorbaat dank voor de hulp!

Gr leonie
 
Ik heb uiteindelijk nog een manier gevonden om alleen een huidige record te exporteren. Het is wel wat bewerkelijker dan eerder genoemde oplossing, maar werkt verder wel oke.

Wanneer je een query aanmaakt met alle gewenste velden en je geeft als criterium bij het ID-nummer: [Forms]![Het formulier van waaruit je wilt werken]![ID nummer] op, dan heb je een query met alleen de huidige record. (je moet het formulier wel open hebben staan)

Het mooiste zou zijn als je deze guery vervolgens rechtstreeks aan het gewenste Word bestand zou koppelen, maar dit lukt helaas niet.

Dit kun je oplossen door een bestandje aan te maken in excel waarin je de query automatisch laat exporteren. Kies in excel Data --> Externe gegevens importeren, en zorg er bij de instellingen voor dat de gegevens automatisch vernieuwd worden als het excelbestand wordt geopend.

Dit excelbestand kun je vervolgens koppelen aan het gewenste Word bestand.

Vervolgens maak je dan een knop aan op je formulier met daarachter een macro met de volgende acties:
* Naar volgende record gaan
* Naar vorige record gaan --> deze twee acties zorgen ervoor dat alle gegevens die je net ingevoerd hebt op het formulier worden opgeslagen, anders bevat de query niet alle recente gegevens
* Uitvoeren naar --> kies hier voor het excelbestand en kies bij AutoStart voor Nee. Hierdoor wordt de huidige query geexporteerd naar Excel, maar komt excel verder zelf niet in beeld.
* ToepassingUitvoeren --> voer hier het pad naar het Word bestand in.
Met deze acties opent word door middel van één druk op de knop, en hoef je alleen nog maar op AfdrukSamenvoegen te klikken om een bestand met het huidige record van het formulier te krijgen.

Het is een beetje een omweg, maar wanneer je niet zoveel verstand van VBA hebt, is het een optie.

gr leonie
 
Je kunt volgens mij een Word document makkelijk aan een query koppelen. Daarvoor heb je geen export naar Excel nodig. Ik doe dat zelf overigens soms bewust wel, om de db te ontlasten, maar dat is een ander verhaal.
Het bladeren naar het volgende en vorige record om de gegevens te verversen kun je omzeilen door deze regel op te nemen in de code:

If Me.Dirty Then Me.Dirty = False

Scheelt weer een hoop gedoe...
 
Het is mij inderdaad bekend dat je de query ook rechtstreeks aan Word kan koppelen, maar omdat je het criterium aan de query toegevoegd hebt, komt de query op één of andere manier niet voor in de lijst met queries als je vanuit Word de betreffende query op wilt zoeken. Hoe dit komt weet ik niet, maar hij staat er echt niet tussen....

Omdat mijn optie helemaal zonder code is, heb ik het stukje van naar de volgende en vorige record gaan in de macro gezet.

gr leonie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan