PDA

Vollständige Version anzeigen : SQL-Abfrage in Excelliste ausgeben


joesen
25.09.2003, 14:50
Hallo Leute,

habe mir über ein Formular eine schöne Abfragemöglichkeit für meinen Tabellen geschaffen. (mit Suchfeldern).
Die erzeugte SQL-Abfrage befüllt mir nach drücken eines Buttons ein Listenfeld mit dem Ergebnis.
Von dort aus möchte ich nun die Möglichkeit dieses Ergebnis (die SQL-Abfrage) auch noch in einer Excel-Liste auszugeben.

Wie kriege ich die Felder der SQL-Abfrage in eine Excel-liste??

Danke schon mal
Gruss
Tobias

JeGr
25.09.2003, 14:57
ungefähr so: (hab ich vorher selbst gebraucht...)

Dim ExcelApp As New Excel.Application
Dim ExcelBook As Excel.Workbook
Dim ExcelSheet As Excel.Worksheet
Dim i_Zeile As Integer
Dim i_Spalte As Integer

DoCmd.Hourglass True
Set ExcelBook = ExcelApp.Workbooks.Add()
Set ExcelSheet = ExcelApp.ActiveWorkbook.Worksheets(1)
ExcelSheet.Activate
ExcelBook.ActiveSheet.PageSetup.Orientation = xlLandscape

With Me.listbox1
For i_Zeile = 0 To .ListCount - 1
For i_Spalte = 0 To .ColumnCount - 1
ExcelSheet.Cells(i_Zeile + 1, i_Spalte + 1) = .Column(i_Spalte, i_Zeile)
ExcelSheet.Columns.NumberFormat = "@"
Next i_Spalte
Next i_Zeile
End With
DoCmd.Hourglass False
ExcelApp.Visible = True

joesen
25.09.2003, 15:06
gibts da vielleicht noch ne andere lösung?
habe schon mal was von: DoCmd TransferSpreadsheet gelesen aber das funktioniert irgendwie nicht.

gruss

joesen
25.09.2003, 15:16
ich hatte folgende variante ausprobiert:

docmd.transferspreadsheet acExport, acSpreadsheetTypeExcel97, Hier hab ich meinen SQL-Abfrage eingetrage, Dateiname

an der sql abfrage in dieser zeile hängt er sich irgendwie auf. muss ich da vielleicht noch ein anführungszeichen setzen oder sowas?

gruss

JeGr
25.09.2003, 15:21
Aus der OH:

Tabellenname:
Name der Access-Tabelle, in die Tabellenkalkulationsdaten importiert oder verknüpft bzw. aus der Tabellenkalkulationsdaten exportiert werden sollen. Sie können auch den Namen der Access-Auswahlabfrage angeben, deren Daten Sie exportieren möchten. Dieses Argument ist erforderlich.
Wenn Sie für das Argument Transfertyp die Einstellung Importieren gewählt haben, fügt Access die Tabellendaten an diese Tabelle an, sofern sie bereits vorhanden ist. Ist die Tabelle noch nicht vorhanden, so erstellt Access eine neue Tabelle mit den Tabellendaten.

In Access können Sie zum Angeben der zu exportierenden Daten bei Verwendung der TransferArbeitsblatt-Aktion keine SQL-Anweisung verwenden. Stattdessen erstellen Sie zunächst eine Abfrage und geben dann im Argument Tabellenname den Namen der Abfrage an.

Nouba
25.09.2003, 15:22
Hallo,

Du must den Namen einer gespeicherten Abfrage als Argument der TransferSpreadSheet -Methode übergeben.