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 :-)
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
tak for hjælpen jkrons kan du ikke lige sende en mail så finder vi ud af nogle flere point
Synes godt om
Ny brugerNybegynder
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.