Avatar billede sf Nybegynder
26. maj 2004 - 22:29 Der er 24 kommentarer og
1 løsning

data fra access til word med kode

nogle der har et exsempel på at hente data fra access og ligge dem et bestemt sted i word ved hjælp af kode ikk brevflet
Avatar billede jkrons Professor
26. maj 2004 - 22:31 #1
Starter du i Access og overfører til Word, eller vil du starte i Word og hente fra Access?
Avatar billede mugs Novice
26. maj 2004 - 22:32 #2
Jeg har et eksempel der viser hvordan du fra Access kan sende formularens data til Word ved hjælp af VBA. Blot læg din e-mail.
Avatar billede sf Nybegynder
26. maj 2004 - 22:34 #3
vil hent fra word til access
Avatar billede sf Nybegynder
26. maj 2004 - 22:34 #4
mail: niels_kristian@hotmail.com
Avatar billede mugs Novice
26. maj 2004 - 22:37 #5
Mit eksempel viser hvordan du står i Access og sender formularens data til word. Så jeg regner ikke med, at det kan bruges.
Avatar billede sf Nybegynder
26. maj 2004 - 22:41 #6
ok..hmm :(
Avatar billede sf Nybegynder
26. maj 2004 - 22:44 #7
jkrons ??
Avatar billede jkrons Professor
26. maj 2004 - 22:47 #8
Jeg arbejder på sagen, men det er ikke så nemt, da der en lang række VBA metoder, som Accesss ikke understøtter. Det er meget nemmere at gå den anden vej :-)
Avatar billede sf Nybegynder
26. maj 2004 - 22:52 #9
ok.. øv.. :( det er faktisk pga af dit svar her: http://www.eksperten.dk/spm/502887
:)
Avatar billede jkrons Professor
26. maj 2004 - 22:54 #10
Ok. Kan du ikke prøve at fortælle mig præcis, hvad det er du ønsker at opnå. Det vil måske gøre det nemmere at finde en løsning.
Avatar billede sf Nybegynder
26. maj 2004 - 22:56 #11
jo du har ikke messenger ville gøre det nemmere
Avatar billede sf Nybegynder
26. maj 2004 - 22:56 #12
vil godt giver flere points for en hurtig løsning over messenger
Avatar billede jkrons Professor
26. maj 2004 - 22:57 #13
Nej, ingen messenger.
Avatar billede sf Nybegynder
26. maj 2004 - 22:59 #14
ok.. :(
e-mail? kan prøve at sende den fil jeg fletter over i med en beskrivelse..
Avatar billede jkrons Professor
26. maj 2004 - 23:00 #15
kronsell@adslhome.dk
Avatar billede sf Nybegynder
26. maj 2004 - 23:05 #16
sendt
Avatar billede jkrons Professor
26. maj 2004 - 23:06 #17
Jeg ser på det.
Avatar billede sf Nybegynder
26. maj 2004 - 23:26 #18
har lige sendt svar
Avatar billede jkrons Professor
26. maj 2004 - 23:52 #19
Niels, jeg tror at jeg holder en pause for i dag. Så skal jeg prøve at se på det med friske øjne i morgen aften (after work ;-))

Koden der henter data ud af Access er på plads, problemet er lige at dem overført til Word dokumentet.
Avatar billede sf Nybegynder
26. maj 2004 - 23:58 #20
ok takker..
Avatar billede mlhave Nybegynder
27. maj 2004 - 10:26 #21
Du kan prøve at ligge nedenstående ind på en knap på en form i Access:

Dim objword As New Word.Application
Dim WordDoc As New Word.Document

Set WordDoc = objword.Documents.Add("\\Odin\database\Skabeloner\DK-Brev.dot")

    If IsNull(Me.Kundenavn) = False Then
        Call InsertAtBookmark(WordDoc, "Firmanavn", Me.Kundenavn)
    End If
   
    If IsNull(Me.Kundeadresse1) = False Then
        Call InsertAtBookmark(WordDoc, "Adresse1", Me.Kundeadresse1)
    End If
   
    If IsNull(Me.Postnr) = False Then
        Call InsertAtBookmark(WordDoc, "Postnr", Me.Postnr)
    End If
   
    If IsNull(Me.By) = False Then
        Call InsertAtBookmark(WordDoc, "By", Me.By)
    End If
   
objword.Visible = True
Avatar billede jkrons Professor
27. maj 2004 - 17:52 #22
mlhave-> Problemet er at sf ønsker at starte funktionen i Word, ikke i Acccess :-)
Avatar billede jkrons Professor
28. maj 2004 - 00:40 #23
Her er noget kode, der forhåbentligt kan løse problemet.

Ret navn og sti på databasen, og navnet på den tabel/forespørgsel, som du skal hente data fra.

Husk også at der skal være sat en reference til Microsoft Dao 3.6 Obejct Library:

Sub DataFraAccess()
'Jan Kronsell, 2004-05 - Inspireret af Doug Robbins

    'Variabler til database og recordsæt
    Dim acDB As Database
    Dim acActRec As Recordset
   
    'Variabler til at indeholder værdier fra databasefelterne
    Dim F1 As String
    Dim F2 As String
    Dim F3 As String
    Dim F4 As String
    Dim F5 As String
    Dim F6 As String

    'Databasen åbnes - angiv den rigtige sti/navn til databasen
    'Databasen skal ikke være åben i forvejen, når funktionen anvendes
    Set acDB = OpenDatabase("c:\dbtilword.mdb")
   
    'Indlæs tabel eller forespørgsel og gå til første post
    'Navn på forespørgsel eller tabel angives i parentesen
    Set acActRec = acDB.OpenRecordset("tilword")
   
    'Nu vælges den første celle i tabellens anden række
    'Jeg forudsætter at overskrifterne står i 1. række i tabellen i Word
    ActiveDocument.Tables(1).Cell(2, 1).Select
   
    'Nu loopes gennem alle records, indtil End Of File
    'For hver record hentes værdien af de første fem felter
    'Hver værdi gemmes i en variabel
   
   
    Do While Not acActRec.EOF
        'Værdien af første felt (DrawNo) gemems i F1
        F1 = acActRec.Fields(0)
        'Værdien af den første variabel indsættes i den markerede celle
        Selection.Text = F1
        'Der flyttes til næste celle
        Selection.MoveRight Unit:=wdCell
        'Derefter gentages ovenstående for øvrige felter i posten
        F2 = acActRec.Fields(1)
        Selection.Text = F2
        Selection.MoveRight Unit:=wdCell
        F3 = acActRec.Fields(2)
        Selection.Text = F3
        Selection.MoveRight Unit:=wdCell
        F4 = acActRec.Fields(3)
        Selection.Text = F4
        Selection.MoveRight Unit:=wdCell
        F5 = acActRec.Fields(4)
        Selection.Text = F5
        Selection.MoveRight Unit:=wdCell
   
    'Når alle felter er indsæt fortsættes til næste post
        acActRec.MoveNext
       
    Loop

    'Efter loopet er der kommet en ekstra række i tabellen, den skal fjernes
    Selection.Rows.Delete
   
    'Så skal vi tilbage til sidste post i recordsættet
    acActRec.MovePrevious
   
    'Så skal vi have fat i den næste tabels eneste celle
    ActiveDocument.Tables(2).Cell(1, 1).Select
   
    'Da der allerede står tekst i cellen, skal vi ned på linien under
    Selection.EndKey Unit:=wdLine
    Selection.MoveUp Unit:=wdLine, Count:=1
    Selection.EndKey Unit:=wdLine
   
    'Så skal værdien af Felt6 i sidste post sættes ind i tabellen
    F6 = acActRec.Fields(5)
    Selection.Text = F6
   
    'Så lukkervi recordsæt og database
    acActRec.Close
    acDB.Close

    'Og frigiver den bundne RAm
    Set actrec = Nothing
    Set acDB = Nothing

End Sub
Avatar billede jkrons Professor
28. maj 2004 - 00:41 #24
Set actrec = Nothing
skal retteligt være

Set acActRec = Nothing
Avatar billede sf Nybegynder
01. juni 2004 - 22:30 #25
tak for hjælpen jkrons kan du ikke lige sende en mail så finder vi ud af nogle flere point
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
Tag et kursus i Word og øg effektiviteten

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