Datentypenkonflikt in Kriterienausdruck

  • Access

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von petaod.

    Datentypenkonflikt in Kriterienausdruck

    Hallo Leute,

    ich habe eine zu VB + MS Access:



    Ich lasse eine Spalte per Textfeld in die Tabelle "personen" hinzufügen mittels:

    con.Open()
    cmd.CommandText =
    "alter table personen add column " & txtTag.Text & " varchar"




    In diese werden dann entweder die Werte "x", "f" oder "e" geschrieben (nachname und vorname sind bereits enthalten), z.B. so:

    con.Open()
    cmd.CommandText =
    "update personen set " & txtTag.Text & " = 'f' where nachname = '" & Nachname & "' and vorname = '" & Vorname & "'"



    Dann versuche ich, alle Einträge auslesen zu lassen, bei denen die eingefügte Spalte (wird hier nocheinmal mit einer Textbox verglichen, ist aber ganz sicher vorhanden! Hier heißt sie "06062006") ein "f" enthält:

    con.Open()
    cmd.CommandText = "select * from personen where '" & txtDatum.Text & "' = 'f' order by nachname"



    Bekomme dann aber selbst wenn ich es in Access eingeben und '" & txtDatum.Text & "' durch '06062006' ersetze die Meldung:

    "Datentypenkonflikt in Kriterienausruck"



    Kann mir jemand von euch helfen?
    Bemerkung am Rande:
    Ich kriege jetzt keinen Schuh mehr an, weil sich bei mir die Zehennägel aufgerollt haben.
    Dein Datenmodell ist absoluter Schrott.


    Zum Problem:
    Wenn deine Tabelle einen numerischen Namen hat, musst du diesen "escapen":

    SQL-Abfrage

    1. SELECT * FROM personen WHERE [06062006] = 'f'
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --