Datumswerte

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Pascal.

    Datumswerte

    Hallo,

    ich habe ein Programm jetzt mal kompiliert und auf einen anderen Rechner gepackt. Der unterschied ist, dass der eine Rechner dt der andere Engl. ist. ich habe auf dem Engl. entwickelt. Da laeuft auch alles. Auf dem dt. Rechner kommt hierbei folgender Fehler:


    Dim fntAdress As New Font("Microsoft Sans Serif", 12, FontStyle.Bold)
    Dim i As Integer
    Dim DateDiffer As Date = DateAdd(DateInterval.Year, -2, Now)
    DateDiffer = DateSerial(DatePart(DateInterval.Year, DateDiffer, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays), DatePart(DateInterval.Month, DateDiffer, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays), DatePart(DateInterval.Day, DateDiffer, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays))
    cString = "SELECT * FROM Adressen WHERE dzGeändert < #" & DateDiffer & "# ORDER BY dzGeändert"
    Command = New OdbcCommand(cString, DBConAlt1)
    cmbTitel.Items.Clear()
    Try
    ReaderAlt1 = Command.ExecuteReader()
    Do Until ReaderAlt1.Read = False Or i = 7
    i += 1
    lblAdresse = New clsAdressLabel("lblAdresse" & i)
    With lblAdresse
    .Text = "[" & Format(ReaderAlt1.Item("StammIndex"), "00000") & "] - " & ReaderAlt1.Item("sName")
    .Left = 20
    .Top = 20 + (i * 25)
    .Width = 350
    .Height = 23
    .ForeColor = Color.White
    .Font = fntAdress
    .BackColor = Color.Transparent
    .Cursor = Cursors.Hand
    End With
    picBackGround.Controls.Add(lblAdresse)
    Application.DoEvents()
    Loop
    Catch ex As Exception
    MsgBox(ex.Message)
    Finally
    ReaderAlt1.Close()
    End Try


    ERROR [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in Datum in Abfrageausdruck 'dzGeändert < #13.03.2003#'.


    So die Datenbank ist allerdings LEER und ich habe auch so weit ich weisz alle Werte von 1/1/1800 in 01.01.1800 geaendet, damit es zu keinen Fehlern kommt.

    Wo ist der Fehler?
    Das ist wohl richtig, aber ich habe im Deutschen schon alles auf DateSerial umgestellt, so dass es daran NICHT liegt!!! Das dachte ich zuerst auch. Ich habe folgendes versuch in Access selbst zu machen und das ging auch nicht. Gleicher Fehler:

    SELECT *
    FROM Adressen WHERE dzGeändert < #13.03.2003#

    In der Datenbank ist ein Eintrag, der auf den 13.03.2002 datiert ist. Ich kann in Access keine Auswertung machen. Deshlab klappt das auch in meinem Programm nicht...

    Vielleicht eine Idee?
    Muss man Datumsangaben nicht in Anführungszeichen schreiben? Also:

    SELECT *
    FROM Adressen WHERE dzGeändert < "13.03.2003"

    Ist zumindest generell in SQL so, wie Access das macht, weiß ich nicht so genau.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum