Private Sub btnExportToCSV_Click()
Dim fd As String
Dim Filename As String ' Ziel-Dateiname mit Pfad
Dim SQL As String ' Name der Tabelle oder SQL-String
Dim rs As Recordset ' Recordset
Dim FileDesc As Variant ' Filedescriptor
fd = ";" ' Feld-Separator (z.B.: Semikolon)
Filename = "c:\Temp\Test.csv"
SQL = "SELECT timestamp, value FROM TableName WHERE timestamp >= #06/23/2011 00:00:00# AND timestamp <= #06/25/2011 00:00:00# ORDER BY timestamp;"
If Dir(Filename) <> "" Then
If MsgBox("Datei " & Filename & " vorhanden! Überschreiben?", vbQuestion + vbYesNoCancel + vbDefaultButton2) = vbYes Then
' Datei löschen
Kill Filename
Else
' Funktion beenden
Exit Sub
End If
End If
' Datenquelle als Recordset öffnen
Set rs = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot)
rs.MoveFirst
' Datei initialisieren und öffnen
FileDesc = FreeFile
Open Filename For Output As FileDesc
' Überschriften schreiben
Print #FileDesc, "timestamp" & fd & "signal"
' Datensätze der Tabelle durchlaufen und "Zeitstempel;Wert" schreiben
Do While Not rs.EOF
z = rs![timestamp] & fd & rs![value]
Print #FileDesc, z
rs.MoveNext
Loop
' aufräumen
Close #FileDesc
rs.Close
Set rs = Nothing
MsgBox "Datei geschrieben: " & Filename
End Sub