Veröffentlicht 10. Januar 200520 j 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:
11. Januar 200520 j 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
11. Januar 200520 j 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:
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.