[Visual Studio 2008] DateTimePicker in MS Access-Datumsformat wandeln

Sascha Wetzel

Grünschnabel
Hallo...

ich habe folgende Abfrage
Code:
SELECT * FROM Ausbilder WHERE Lehrschein >= '" + dateTimeGueltigkeitT2.Text + "';

Doch leider bringt meine Accessdatenbank da einen "Datentypen in Kriterienausdruck unverträglich." Fehler den ich nicht ganz verstehe.

Hab ein bisschen gegoogled und bin auf CAST und CONVERT gestoßen...
Doch auch dort bleibt der Fehler bestehen...

Weiß von euch einer einen Rat?
 
Soweit ich weiß musst du das Datum in "#" einschließen und das dann nicht mit "+" sodern mit "&" verknüpfen.

SQL:
SELECT * FROM Ausbilder WHERE Lehrschein >= #" & dateTimeGueltigkeitT2.Text & "#"

Ach so: das Datum muss im amerikanischen Format geschrieben werden "mm/tt/jjjj"
 
Zuletzt bearbeitet:
Leider gibt es jetzt nen neuen Fehler ;-)

Code:
SELECT * FROM Ausbilder WHERE Lehrschein >= #" & dateTimeGueltigkeitT2.Text & "#"

führt zu ner Fehlermeldung im Visual Studio 2008 "Der Operator "&" kann nicht auf Operanden vom Typ "string" und "string" angewendet werden."

Hast Du dazu ne Idee****?
 
Hm, ich hätte felsenfest behauptet das man einen String mit dem "&" verkettet. Aber anscheinend ist es wohl doch "+".
 
Jup dann ist der Fehler auch weg...

Nur hat dann meine dataAdapter von OleDb das Problem, das er den dataAdapter.Fill(dataTable) nicht mehr ausführen kann.

Fehlermeldung: Syntaxfehler in Datum in Abfrageausdruck 'Lehrschein >= #02.11.2011#'.

Code:
dataTable.Clear();
dataAdapter.Fill(dataTable); <------ Syntaxfehler in Datum in Abfrageausdruck 'Lehrschein >= #02.11.2011#'.
dataGridView1.Columns["ID"].Visible = false;
dataGridView1.Columns["Geloescht"].Visible = false;

PS: C# ist die Programmiersprache :)
 
Kurze Zusammenfassung

VBA hat die gleiche Syntax wie VB6: &
VB.NET sieht da anderst aus: +

Visual Studio 2008 ist VB.Net.

Den SQL-String zusammensetzen geschieht in VB.Net. Den fertigen SQL-String ausführen ist Sache der DB. In dem Fall MS Access. Und dort ist das Datumsformat #mm/dd/yyyy#

SQL:
SELECT *
FROM myTable
WHERE myDate = #03/11/2010#
 
Zuletzt bearbeitet von einem Moderator:
In dem Fall MS Access. Und dort ist das Datumsformat #mm/dd/yyyy#

D.h. für mich, dass ich mein Datum, das aus dem DateTimePicker kommt in ein mm/dd/yyyy Format konvertieren muss und dann erst in den SQL-String setzen kann oder?

Gibt es vlt. eine coole Methode wo ich das schon auf dem Objekt DateTimePicker machen kann?
 
Das wäre super wenn du das machen könntest...******

Ich dachte halt das es ein Datenbankproblem sei...

Trotzdem Danke für die schnelle Hilfe...******
 
Es war auch ien DB-Problem. Doch jetzt ist das DB-Problem gelöst und es muss die Visual Studio 2008 Seite von Code angepasst werden.
Ich habe auch den Thread-Titel gleich angepasst
 
Zurück