13. september 2001 - 22:32Der er
1 kommentar og 1 løsning
Fra Access til Excel og tilbage igen !
Havde lige et tillægsspørgsmål der skulle have været med det foregående spørgsmål, men trykkede lidt for hurtigt på send knappen. Ret sikker på at det er noget VBA lignende der skal laves her. Skal bruge en funktion hvor en post med diverse stamdata sendes til en Excel fil. I Excel foretages der herefter en del yderligere indtastning og beregning, der herefter skal sendes tilbage til Access. Skal ikke nødvendigvis sendes tilbage til samme post i Access, men muligvis i en ny hvis den ikke eksisterer.
Her er koden der eksporterer data fra Access til Excel i access97. Det er så spørgsmålet hvordan du kommer tilbage til Access med dine nye beregninger, men det må jeg tæmke over, eller lade op til nogle der er klogere end mig
Dim Obvar As Object, wkb As Object, Rst As Recordset Dim I As Integer, Tek As String, Tek1 As String, Tek2 As String, Excelpågrebet As String Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset(\"Tyveri\", dbOpenTable) Set Obvar = CreateObject(\"excel.application\") Obvar.Visible = True Set wkb = Obvar.Workbooks.Add wkb.Worksheets(\"Ark1\").Cells(1, 1).Value = \"Dato\" wkb.Worksheets(\"Ark1\").Cells(1, 2).Value = \"Time\" wkb.Worksheets(\"Ark1\").Cells(1, 3).Value = \"Ugedag\" wkb.Worksheets(\"Ark1\").Cells(1, 4).Value = \"Forretning\" wkb.Worksheets(\"Ark1\").Cells(1, 5).Value = \"Beløb\" wkb.Worksheets(\"Ark1\").Cells(1, 6).Value = \"Antal\" wkb.Worksheets(\"Ark1\").Cells(1, 7).Value = \"Pågrebet\" For I = 2 To Rst.RecordCount + 1 wkb.Worksheets(\"Ark1\").Cells(I, 1).Value = Str$(Rst.Fields![Datotid]) wkb.Worksheets(\"Ark1\").Cells(I, 2).Value = Str$(Rst.Fields![Time]) wkb.Worksheets(\"Ark1\").Cells(I, 3).Value = Format(Rst.Fields![Ugedag]) wkb.Worksheets(\"Ark1\").Cells(I, 4).Value = Format(Rst.Fields![Forreting]) wkb.Worksheets(\"Ark1\").Cells(I, 5).Value = Str$(Rst.Fields![Beløb]) wkb.Worksheets(\"Ark1\").Cells(I, 6).Value = Str$(Rst.Fields![Antal]) wkb.Worksheets(\"Ark1\").Cells(I, 7).Value = Format(Rst.Fields![Pågrebet]) Rst.MoveNext Next wkb.Worksheets(\"Ark1\").UsedRange.Columns.AutoFit
Du kan da bare bruge importer/eksporter disse kan aktiveres med en simpel makro.
Makro:
Handling: \"Skriv til\"
Vælg eks. stamdatatabel Vælg hvilket format der skal skrives til: *.xls Navnet på den nye fil.
Hilsen MSJ
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.