Problem mit LIKE in ADOQuery...



  • Hi,
    ich versuche Krampfhaft eine SQL-Abfrage mittels ADOQuery auf eine ACCESS-DB zu erstellen. Was in ACCESS funktioniert, geht mit der ADOQuery leider nicht! Hier der SQL-String:

    SELECT * from Tabelle where Feld6 LIKE '*Knot*'
    

    Wenn ich dass in ACCESS abfrage, gehts. Nur leider nicht aus meinem Programm heraus! Wo liegt der Fehler????

    Danke...



  • Bei Oracle sind die Platzhalterzeichen z.B. _ für ein Zeichen und % für beliebig viele (wie * bei Access).
    Access macht da wohl eher die Ausnahme, nehme ich an...

    [edit]
    Hoppla, ich glaube, ich habe das Problem falsch verstanden...
    [/edit]



  • Hab es!

    Wenn ich die Abfrage in ACCESS starte, funktioniert das * als Platzhalter. Wenn ich aber diese Abfrage in ein ADOQuery setze, muss das % als Platzhalter genutzt werden!!!

    Na ja, mal wieder der kleine Unterschied 😉

    Gruß Torsten



  • isabeau schrieb:

    Hoppla, ich glaube, ich habe das Problem falsch verstanden...

    Nein, ganz und gar nicht. Außerhalb von Access, also aus eigenen Programmen heraus, müssen die Platzhalter gemäß dem SQL-Standard verwendet werden. Also % und _, statt * und ?.



  • Glück gehabt. 😃
    Nach meiner Antwort habe ich festgestellt, dass ich mit einer ADOQuerry eigentlich noch nie im Leben etwas zu tun hatte, daher das [edit].


Log in to reply