
Doch wieder als String?
Was machen die = im Between?
Was soll das Format DD-MM-YYYY in den Fixen Datumswerten? Entweder MM/DD/YYYY oder YYYY-MM-DD.
Visual Basic:
'Wert aus DateTimePicker1 als SQL-String
sqlStrDt1 = "#" & DateTimePicker1.Value.ToString("yyyy-MM-dd H:mm:ss") & "#"
sqlStrDt2 = "#" & DateTimePicker2.Value.ToString("yyyy-MM-dd H:mm:ss") & "#"
'Hier kannst du sqlDt1 debuggen. Schauen mal wie die aussehen
'Das SQL zusammenstellen
sql = "SELECT * " &
"FROM tblfahrzeuge " &
"WHERE " &
" KFZ_NAME NOT IN ( " &
" SELECT KFZ_NAME " &
" FROM tblreservierung " &
" WHERE " &
" ( " & sqlStrDt1 & " BETWEEN abholung_datum AND abgabe_datum) " &
" OR ( " & sqlStrDt2 & " BETWEEN abholung_datum AND abgabe_datum) "
'Das SQL debuggen
'Das SQL ausführen
dbcmd = New OleDbCommand(sql, conn)
Weiterer Tipp: SQL debuggen unter VBA/Access. Sollte für VB.Net ähnlich fubktioneren: [VBA][Access] Debug Queries [Yaslaw.Info]
Ps: Gute Besserung