1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

VBA Datum aus TextBox per SQL in Tabelle schreiben

Discussion in 'Programmieren' started by Kilemo03, Sep 24, 2016.

Tags:
Thread Status:
Not open for further replies.
  1. Kilemo03

    Kilemo03 Byte

    Hallo,

    in Access 2016 habe ich in einem Formular ein Textfeld mit dem Typ Datum kurz. Der Inhalt dieses Textfeldes soll per VBA über einen SQL-Befehl in eine Tabelle geschrieben werden, das Feld dort hat ebenfalls den Datentyp Datum und das Format "Datum, kurz".

    Hier mein Versuch:
    Datum = Format(tfDatum.Text, "yy-mm-dd")
    strSQL = "INSERT INTO Fahrten (Datum, FahrerID) VALUES (" & Datum & ", " & FahrerID & ")"

    Das Ergebnis ist eine Fehlermeldung "Syntaxfehler in Zahl in Abfrageausdruck '19.09.202'" (tatsächlich 202).
    Hier kann ich schon mal nicht nachvollziehen, wie dieses Format zustande kam.

    Nach Recherchen habe ich das ganze in folgenden Code geändert:
    Datum = Format(tfDatum.Text, "dd.mm.yyyy")
    strSQL = "INSERT INTO Fahrten (Datum, FahrerID) VALUES (" & Format(Datum, "yyyy-mm-dd") & ", " & FahrerID & ")"

    Der Befehl wird jetzt ausgeführt, aber das Ergebnis ist für mich völlig unverständlich.
    Der SQL-Befehl lautet in Klarschrift "INSERT INTO Fahrten (Datum, FahrerID) VALUES (2016-09-24, 7)
    Das tatsächlich in der Tabelle eingetragene Datum lautet aber 05.06.1905.

    Kann mir jemand sagen, wie ich das Feld in der Tabelle bzw den Code ändern muss, damit das Datum richtig eingetragen wird?

    Vielen Dank und Grüße!
     
  2. Odie0506

    Odie0506 Kbyte

    Datumsformat sollte bei SQL-Befehlen "\#yyyy\-mm\-dd\#" lauten.
     
  3. Kilemo03

    Kilemo03 Byte

    Super, danke, das funktioniert!
     
  4. Odie0506

    Odie0506 Kbyte

    Am Rande: Crosspostings sind nicht gern gesehen. Eine Frage stellt man an einer Stelle einmal und fertig.
     
Thread Status:
Not open for further replies.

Share This Page