Druid Geschrieben 10. Januar 2005 Geschrieben 10. Januar 2005 Hi, ich habe folgendes Problem. Ich möchte mittels VBA Daten aus meiner Datenbank nach Excel exportieren. Da ich die Formatierung der Excel Datei aber zeitgleich anpassen muss kann ich das nicht über die DoCmd. TransferSpreadsheet - Methode machen. Ich hab folgenden Code geschrieben: Option Compare Database Option Explicit Public wkbXL1 As Workbook Public Function export(sSQL As String, is_type As Integer) Dim iZeile, iSpalte As Integer Dim i, j, k As Integer Dim sSQL_query As String Set wkbXL1 = Workbooks.Add With wkbXL1 .application.Visible = True .Parent.Windows(1).Visible = True End With iZeile = 1 sSQL_query = sSQL Call mdl_database.createSQLRecordset(sSQL_query) While rs.EOF = False wkbXL1.Sheets(1).Cells(iZeile, 0) = Trim(rs.Fields(0).Value) iZeile = iZeile + 1 rs.MoveNext Wend End Function Bei wkbXL1.Sheets(1).Cells(iZeile,0) = trim(rs.fields(0).value) bringt er folgende Fehlermeldung: Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler Kann mir einer sagen, warum Access diese Fehlermeldung bringt oder ob ich etwas falsch mache? Und wenn ja was???!!!??! Danke und Gruß Druid :cool: Zitieren
Stefan_1 Geschrieben 11. Januar 2005 Geschrieben 11. Januar 2005 Hi Druid, versuch´s mal mit der Zeile. wkbXL1.Sheets(1).Cells(iZeile,0).value = trim(rs.fields(0).value) Viele Grüße Stefan_1 Zitieren
Druid Geschrieben 11. Januar 2005 Autor Geschrieben 11. Januar 2005 Hi Druid, versuch´s mal mit der Zeile. wkbXL1.Sheets(1).Cells(iZeile,0).value = trim(rs.fields(0).value) Viele Grüße Stefan_1 Hi, danke, aber daran lag es nicht. Ich habe es gelöst. Und zwar benennt die 1 in der Klammer bei wkbXL1.Sheets(1) das Tabellenblatt. Bei mir heißen die Dinger aber nicht 1,2,3,.. sondern "Tabelle1", "Tabelle2",... also muss der Befehl richtig lauten: wkbXL1.Sheets("Tabelle1").Cells(iZeile,0) = trim(rs.fields(0).value) für alle, die das gleiche Problem haben :eek: Greetz Druid :cool: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.