Problem mit TQuery und Filter



  • Hi,

    ich habe folgendes Problem:
    ich habe eine Ergebnismenge mit TQuery ausgelesen und wollte die nun Filtern.

    Jetzt habe ich folgendes als Filter gesetzt:

    "km0002=15 AND km0006=10"

    Nach km0002 filtert er auch, aber nicht nach km0006.
    Woran kann das liegen?

    Danke im Voraus

    cu Errraddicator



  • Hallo

    schwer zu sagen...
    aber vielleicht willst du auch diese Abfrage

    km0002=15 OR km0006=10
    

    bis bald
    akari



  • Filter zeigen hier und da seltsame Eigenarten. Manchmal hilft es entsprechende Klammern zu setzen, entsprechenden Incices zu erzeugen uws.. Manchmal geht es auch gar nicht und man muss auf SQL-Selects zurückgreifen.


  • Mod

    Hallo

    SQL zu verwenden halte ich fuer dioe bessere Loesung
    (zumindest in den meisten Faellen)

    MfG
    Klaus



  • ne, war was anderes.

    ich hatte geschrieben:

    ...
    query->Filtered = false;
    query->Filter = "km0002=1";
    if(xyz == 0)
      query->Filter += "AND km0006=15";
    query->Filtered = true;
    ...
    

    das funktionierte nicht.

    jetzt habe ich geschrieben

    ...
    query->Filtered = true;
    if(xyz == 0)
      query->Filter = "km0002=1 AND km0006=15";
    else
      query->Filter = "km0002=1";
    ...
    

    jetzt funktionierts.

    was jetzt allerdings ausschlaggebend war, sprich das ich erst
    "query->Filtered = true"
    gesetzt habe, oder das ich jetzt kein
    "query->Filter += ..."
    mehr mache, weiß ich selbst nicht 🙄

    Auf jeden Fall funzt es jetzt wieder 😃

    cu Errraddicator



  • Hallo

    ...
    query->Filtered = false;
    query->Filter = "km0002=1";
    if(xyz == 0)
      query->Filter += "AND km0006=15";
    query->Filtered = true;
    ...
    

    ganz klar : wenn du den Filter zusammensetzt, kommt das raus :

    km0002=1AND km0006=15
    

    raus. Da fehlt ein Leerzeichen vor dem AND!

    bis bald
    akari



  • ne das war bei mir im code
    100% " AND "
    entschuldigung, habe ich mich vertippt.

    sonst hätte er ja auch ne exception oder sowas geworfen.


Anmelden zum Antworten