Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: tragger am Februar 08, 2013, 22:42:03

Titel: Probleme mit SQLstring bei Export von Daten nach Excel
Beitrag von: tragger am Februar 08, 2013, 22:42:03
Hallo Leute,

ich habe heute mal wieder ein Problem mit SQLstrings. Ich möchte gerne über eine neu erstellte Abfrage Daten nach Excel exportieren. Folgendes funktioniert ohne Probleme:

Private Sub Befehl0_Click()
Dim qry_export As DAO.QueryDef
Dim start As String
Dim strSQL As String

strSQL = "SELECT * FROM qryRechnungen"
start = FnsSeparatedPath$(CurrentDb.Name) & "testen.xlsx"
Set qry_export = CurrentDb.CreateQueryDef("Test", strSQL)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Test", start, True
DoCmd.DeleteObject acQuery, "Test"
qry_export.Close
Set qry_export = Nothing
End Sub


Nun sollen nicht alle Datensätze aus qryRechnungen genommen werden, sondern nur die, bei denen das Rechnungsdatum z.B. gleich 03.02.2013 ist.
Deshalb habe ich folgendes ergänzt:

Private Sub Befehl0_Click()
Dim qry_export As DAO.QueryDef
Dim start As String
Dim strSQL As String
Dim invoicedate As Date
Dim strinvoicedate As String

invoicedate = "03.02.2013"
strinvoicedate = "#" & Month(invoicedate) & "/" & Day(invoicedate) & "/" & year(invoicedate) & "#"

strSQL = "SELECT * FROM qryRechnungen  WHERE Rechnungsdatum='" & strinvoicedate & "'"
start = FnsSeparatedPath$(CurrentDb.Name) & "testen.xlsx"
Set qry_export = CurrentDb.CreateQueryDef("Test", strSQL)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Test", start, True
DoCmd.DeleteObject acQuery, "Test"
qry_export.Close
Set qry_export = Nothing
End Sub


Der Fehler muss in der WHERE-Klausel liegen. Was mache ich falsch??

Ich erhalte beim ausführen den Laufzeitfehler 3464 - Datentypen in Kriterienausdruck unverträglich. Der Debugger markiert die Zeile mit DoCmd.TransferSpreadsheet.........

Wenn ich versuche, die bereits erstellte aber noch nicht wieder gelöschte Abfrage Test zu öffnen, geht das nicht. Gleicher Fehler. Also muss das an SQL liegen.

Ich hoffe mal wieder auf euch.....
Titel: Re: Probleme mit SQLstring bei Export von Daten nach Excel
Beitrag von: DF6GL am Februar 09, 2013, 09:06:31
Hallo,

kein Wunder, wenn Du die Datentypen so durcheinanderwürfelst...



Private Sub Befehl0_Click()
Dim qry_export As DAO.QueryDef
Dim start As String
Dim strSQL As String
Dim invoicedate As Date
Dim strinvoicedate As String

invoicedate = #02/03/2013#

strinvoicedate = Format (invoicedate ,"\#yyyy-mm-dd\#")

strSQL = "SELECT * FROM qryRechnungen  WHERE Rechnungsdatum=" & strinvoicedate  
start = FnsSeparatedPath$(CurrentDb.Name) & "testen.xlsx"     'start = Currentproject.Path & "\testen.xlsx"
Set qry_export = CurrentDb.CreateQueryDef("Test", strSQL)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Test", start, True
DoCmd.DeleteObject acQuery, "Test"
qry_export.Close
Set qry_export = Nothing
End Sub
Titel: Re: Probleme mit SQLstring bei Export von Daten nach Excel
Beitrag von: tragger am Februar 09, 2013, 20:53:46
ohja, vielen Dank" das wars... irgendwie habe ich da Chaos gehabt...

Bin da noch zu unerfahren...