Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Rivside am August 17, 2020, 08:40:40

Titel: Datum mit SQL an Tabelle übergeben
Beitrag von: Rivside am August 17, 2020, 08:40:40
Hallo!

Das Thema wurde öfters angesprochen sogar an externen Foren. Leider vorgeschlagene Lösungen im Internet zu finden, helfen mir nicht.

Ich versuche aus einem Formular ein Datensatzt per SQL und VBA an eine Tabelle zu übergeben. Leider, jedes Mal, kriege ich ne Fehlermeldung Datentypkonfilkt.

Ich habe schon mit CDbl und mit format versucht die Datum umzuwandeln, funktioniert leider nicht.

Die Felder sind als Datum festgelegt.

Hier mein Code:

    Dim sSQL As String
    Dim a, b As String

    a = Format(Me!Datum, "/#yyyy/-mm/-dd/#")
    b = Format(Me!Datum2, "/#yyyy/-mm/-dd/#")

    sSQL = "INSERT INTO test (Artikel, Datum, Datum2, Stückzahl) VALUES ('" & Me!Artikel & "', '" & a & "' , '" & b & "', " & Me!Stückzahl & ")"

    CurrentDb.Execute sSQL, dbFailOnError
Titel: Re: Datum mit SQL an Tabelle übergeben
Beitrag von: DF6GL am August 17, 2020, 08:46:06
Hallo,

die Hochkommata um die Datumswerte sind fehl am Platz:

Zitat.....  , " & a & " , " & b & ",   ....
Titel: Re: Datum mit SQL an Tabelle übergeben
Beitrag von: Rivside am August 17, 2020, 08:51:35
Hallo,

sobald die Hochkommata weg, kriege ich folgende Fehlermeldung:

Syntaxfehler (fehlender Operator) in Abfrageausdruck '.#2020.-08.-17#'
Titel: Re: Datum mit SQL an Tabelle übergeben
Beitrag von: DF6GL am August 17, 2020, 09:00:31
Hallo,

dann ändere zusätzlich:


Zitata = Format(Cdate(Me!Datum), "/#yyyy/-mm/-dd/#")
b = Format(Cdate(Me!Datum2), "/#yyyy/-mm/-dd/#")
Titel: Re: Datum mit SQL an Tabelle übergeben
Beitrag von: PhilS am August 17, 2020, 10:53:22
Zitat von: Rivside am August 17, 2020, 08:40:40    a = Format(Me!Datum, "/#yyyy/-mm/-dd/#")
    b = Format(Me!Datum2, "/#yyyy/-mm/-dd/#")
Der Format-Ausdruck ist nicht richtig. Du muss den Backslash verwenden um die Trennzeichen zu escapen.

Format(Me!Datum, "\#yyyy\-mm\-dd\#")

Als generellen Tipp empfehle ich mein VBA-SQL-String-Tutorial (https://codekabinett.com/rdumps.php?Lang=1&targetDoc=vba-sql-string-tutorial).
Titel: Re: Datum mit SQL an Tabelle übergeben
Beitrag von: DF6GL am August 17, 2020, 11:30:06
Oh je.... meine Brille funktioniert auch nicht mehr richtig....   :o  :'(

Sowas aber auch...