Avatar billede dane022 Seniormester
02. april 2004 - 17:53 Der er 10 kommentarer og
1 løsning

Word istedet for en rapport

Hvis jeg nu hellere vil bruge word til at udskrive breve fra access, istedet for at bruge en rapport, hvordan gør jeg så ?
Det skal være sådan at jeg ved at trykke på en kommandoknap hopper over i dokumentet, samt en knap man kan udskrive word dokumentet fra. I word dokumentet skal medtages oplysninger fra den aktive record i databasen, f.eks fornavn, stilling, arbejdssted.
Avatar billede terry Ekspert
02. april 2004 - 18:18 #1
You need to automate Word from Access but this isnt something which takes five minues to implement!

VERY simple example.
http://www.mvps.org/access/modules/mdl0043.htm
Avatar billede terry Ekspert
02. april 2004 - 18:23 #2
Another solution is to make an Access report and then send it to word using

docmd.OutputTo ...
Avatar billede terry Ekspert
02. april 2004 - 18:24 #3
Avatar billede dane022 Seniormester
02. april 2004 - 19:01 #4
Den kode du begynder på, er det en du kan fuldføre ?
Avatar billede weaponx Nybegynder
02. april 2004 - 20:29 #5
Mit eksempel er baseret på data, som er i en formular, men du kan også indsætte ting fra en forespørgsel. Dog skal du være opmærksom på at dette eksempel er til at skrive ET brev. Når jeg skal have access til at skrive flere breve for mit, så designer jeg en rapport som et brev og med min forspørgsels felter.

Du skal i din access vb editor lave en reference til word object library. Dernæst laver du et dokument som skal bruges som skabelon.

på en knap i en formular kan du indsætte noget lignende dette;


Private Sub Kommandoknap1_Click()
Dim objword As New Word.Application
Dim WordDoc As New Word.Document
Set WordDoc = objword.Documents.Add("stinavn\dokumentskabelonnavn.doc")
Call InsertAtBookmark(WordDoc, "bogmærke1", Me!feltnavn)
objword.Visible = True
DoCmd.Hourglass False
End Sub

Dette skal også i samme formular, men du behøver kun denne kodestump en gang;

Function InsertAtBookmark(objWordDoc As Word.Document, strBookmark As String, strText As String) As Boolean
With objWordDoc.Bookmarks
If .Exists(strBookmark) Then
.Item(strBookmark).Range.Text = strText
InsertAtBookmark = True
End If
End With
End Function
Avatar billede weaponx Nybegynder
02. april 2004 - 20:32 #6
Glemte lige... det var mugs, som viste mig dette og at han har en eksempel db som jeg gerne skal hoste men kun hvis han siger god for det.
Avatar billede dane022 Seniormester
02. april 2004 - 20:44 #7
Hvordan laver jeg en reference til word object library ?
02. april 2004 - 23:18 #8
Her er et eks. som tager en given forespørgsel og automatisk brevfletter til tomt dokument eller til en given skabelon:
http://www.makeiteasy.dk/eksempler/Brevfletning.zip

NB: Du skal kontrollere, at Word-referencen er til den rigtige version (Tools->references, nr du står i VBA)

/Thomas
02. april 2004 - 23:29 #9
Har lige ændret den, så den ikke behøver reference til Word. Dermed er den uafhængig af office-versioner:
http://www.makeiteasy.dk/eksempler/Brevfletning.zip
Avatar billede jannhomm Nybegynder
12. oktober 2004 - 17:43 #10
Hvis man nu vil have det flettet sammen med bookmarks i et word brev, hvordan skal det så skrives i koden ?

Private Sub cmdBrevflet_Click()
    On Error Resume Next
    If Tom(Me!txtSkabelon) Then
        Brevflet Me!txtDatakilde, , Me!Flet
    Else
        Brevflet Me!txtDatakilde, Me!txtSkabelon, Me!Flet
    End If
End Sub
Avatar billede dane022 Seniormester
12. september 2005 - 16:42 #11
lukkes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester