Der er flere muligheder: 1) Brug OLE som er en mulighed for at overføre data mellem MS's produkter 2) Gem data i en kommasep. fil, hvor Excel kan læse dem 3) Skriv noget VBA i dit Excel-ark som læser data fra Access Håber du kan bruge dette....
Tja, det var sådan ca. hvor jeg også selv nåede til, har prøvet at bruge Access' Export funktion og så gemme som .xls fil, men det bliver ikke helt rigtig at se på, så jeg havde håbet at en eller anden havde lavet en generisk funktion, henter data fra en tabel som man selv specificerer og med et antal parametre som man selv kan sætte, så som hvilken celle i regnearket "første data" skal sættes ind i, navnet på regnearket osv.
For at hente/linke data fra database/forespørgsel i Access til Excel skal du i Excel vælge Data -> Hent eksterne data -> Opret ny forespørgsel. Her skal du vælge en datakilde, hvor du så vælger MS Access og blot følger guiden.
Med den metode bliver data indsat i det felt, som du står i, og du kan opdatere dine eksterne data ved et klik på en tool box, som kommer frem.
Ok, akirkeby, det var vist ikke forklaret så specifikt som jeg skulle! Fra Access "skubbes" dataene over i en Excel skabelon, uden brugerindgriben. Jeg er endt med noget VBA kode som henter dataene fra en tabel iht. de parametre brugeren har valgt. Denne kode kopierer jeg over i Excel skabelonen ved at åbne et bestemt regneark, navigere til den ønskede startcelle og så indsætte dataene. Lidt a la: Dim xlsheet As Object Dim xlbook As Object Dim xlapp As Object
Set xlapp = CreateObject("Excel.Application") xlapp.Visible = True
Set xlbook = xlapp.Workbooks.Open("C:\MinSkabelon.xlt") Set xlsheet = xlbook.Worksheets("MitArk1") SQLString = "SELECT * FROM MinTabel" Set dbs = CurrentDb Set rst = dbs.OpenRecordset(SQLString, dbOpenDynaset, dbSeeChanges)
While Not rst.EOF j = j + 1 For i = 0 To rst.EOF xlsheet.Cells(j, i + 1) = rst("Var1") xlsheet.Cells(j, i + 3) = rst("Var2") xlsheet.Cells(j, i + 2) = rst("Var3") xlsheet.Cells(j, i + 4) = rst("Var4") xlsheet.Cells(j, i + 5) = rst("Var5") xlsheet.Cells(j, i + 6) = rst("Var6") / rst("Var7") xlsheet.Cells(j, i + 7) = rst("Var8") xlsheet.Cells(j, i + 8) = rst("Var9") xlsheet.Cells(j, i + 9) = rst("Var10") xlsheet.Cells(j, i + 10) = rst("Var11") If rst("Kriterie1") = -1 Then xlsheet.Cells(j, i + 13) = "x" Else xlsheet.Cells(j, i + 13) = "" End If xlsheet.Cells(j, i + 14) = rst("Var12") Next rst.MoveNext Wend
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.