Avatar billede srsten Nybegynder
06. december 2013 - 14:57 Der er 10 kommentarer og
1 løsning

Tabel fra Access til Word

Hej

Jeg har en stor mængde data, som jeg samler i Access. Jeg har nu nogle brugere, som - gerne simpelt og uden det store kendskab til Access - skal kunne hente data over i en foruddefineret tabelskabelon i Word. Hvordan gør jeg det på den nemmeste måde?

Har forsøgt med bl.a. brevfletning men får jo ikke alle data ind i én samlet tabel. Har også forsøgt at oprette en excel-tabel i word med en dataforbindelse til Access, som fungerer, men som hurtigt kan gå galt og lidt besværlig at vedligeholde.

Nogen gode bud?
Avatar billede supertekst Ekspert
06. december 2013 - 23:28 #1
Skal brugerne kunne vælge hvilke data de ønsker?
Er det flere poster fra en tabel?

Fra Word med en VBA-reference til Access kan data (f.eks. alle felter fra en given post) hentes og placeres i en tabel i dokumentet - uden at brugerne behøver at gøre andet en at åbne en Word-skabelon m/VBA-kode og så f.eks. via en Userform kan foretage de nødvendige valg.
Avatar billede srsten Nybegynder
08. december 2013 - 20:44 #2
Ja, det vil være godt, hvis brugeren kan vælge hvilke data, der skal med. Men ellers vil det være alle poster i Access-tabellen der skal over i Word. Det skal bruges i en rapportskabelon til afrapportering af dataene. Har du et eksempel på en VBA-reference?
Avatar billede supertekst Ekspert
08. december 2013 - 23:08 #3
Selv reference sættes i Word således: (anvender Office 2007)
- Alt+F11 (VBA-vinduet)
-- Tools
--- References
---- Microsoft Office 12.0 Access database engine Object
----- sæt flueben ved denne og Gem

Referencerne er anført i alfabetisk orden

Selv VBA-koden afhænger af, hvordan data skal vælges.
Avatar billede srsten Nybegynder
09. december 2013 - 08:38 #4
Jeg tror det skal være så simpelt som muligt. Så det er hele tabelvisningen fra min forespørgsel i Access, der skal føres over i tabel i Word. Jeg har ikke arbejdet med VBA i Word - kun i Excel. Kan du hjælpe mig igang med en simpel en, som jeg kan arbejde videre med?
Avatar billede supertekst Ekspert
09. december 2013 - 09:15 #5
Ok - vender tilbage senere - har en kundeopgave, som jeg skal se på først.
Avatar billede supertekst Ekspert
09. december 2013 - 14:11 #6
Her er kode fra Word-dokumentet
Hvis du er interesseret i filerne - så send en mail. @-adresse under min profil.

Dim svar As Byte
Private Sub Document_Open()
    svar = MsgBox("Opdater tabel", vbYesNo, "Hent data fra Access?")
    If svar = 6 Then
        hentData
    Else
        Exit Sub
    End If
End Sub
Private Sub hentData()
Const DBsti = "C:\Users\peter\Desktop\srsten\Database1.accdb"        'SKAL JUSTERES
Dim db, fsp_tabel
Dim antalPoster As Integer, p As Integer, række As Integer
    Application.ScreenUpdating = False
   
    række = 1
   
Rem åbn database
    Set db = OpenDatabase(DBsti)

Rem Åbn forespørgsel
    Set fsp_tabel = db.OpenRecordset("forespørgsel1")
   
    With fsp_tabel
        .MoveLast
        antalPoster = .RecordCount
       
        If antalPoster > 0 Then
            .MoveFirst
            For p = 1 To antalPoster
                indsætFelt .Fields(0), række, 1    'skal justeres
                indsætFelt .Fields(1), række, 2    '-
                række = række + 1
            .MoveNext
            Next p
        End If
        .Close
    End With

Rem Luk DB
    db.Close
End Sub
Private Sub indsætFelt(værdi, ræk, kol)
    With ActiveDocument.Tables(1)
        .Cell(ræk, kol).Select
        Selection = værdi
    End With
End Sub
Avatar billede srsten Nybegynder
09. december 2013 - 17:26 #7
Perfekt - det virker ligesom det skal. Så er der noget at arbejde videre med :-)
Avatar billede srsten Nybegynder
09. december 2013 - 17:29 #8
Tak for hjælpen
Avatar billede supertekst Ekspert
09. december 2013 - 17:33 #9
Fint nok - men du tager selv points - da jeg ikke har lagt noget svar. Men fred være med det.. :-)
Avatar billede srsten Nybegynder
09. december 2013 - 19:19 #10
Så lykkedes det mig, at gøre det forkert igen :-)
Avatar billede supertekst Ekspert
09. december 2013 - 23:21 #11
Bedre held næste gang..
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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