2 Filter anwenden

c-hilgert

Mitglied
Hi an alle,

ich habe eine Access-Tabelle die ich durch 2 Filter filtern will. Einmal nach der Spalte Art und einmal nach der Spalte Beschreibung.
Normalerweise muß ich den Befehl nur mit einem & verknüpfen, aber das geht nicht. Da meckert der c++ Builder das es eine ungültige Typumwandlung ist.
Kann mir jemand helfen?

Quelltext
TFilterOptions FilterOptions;
FilterOptions.Clear();
FilterOptions<<foCaseInsensitive;
tblArtikel->Filter = AnsiString("Art='")+ASuchArt+"*'"
& AnsiString("Beschreibung='")+ASuchBeschreibung+"*'";
Wenn ich das und weg lasse funktioniert es einwnadfrei. Aber dann wendet er auch nur einen Filter an
 
Hy!

Das funktioniert nicht weil du versuchts auf die beiden Strings den bitweisen UND Operator anzuwenden. Mit dem AnsiString kenn ich mich leider nicht aus, aber ich denke mir, das das mit
Code:
AnsiString("Art='") + ASuchArt + "*'" + AnsiString("&") + AnsiString("Beschreibung='")+ASuchBeschreibung+"*'";

funktionieren müsste.

mfg
uhu01
 
Hi,

danke für die Antwort. Leider funktioniert es nicht. C++ meldet mit Falscher Filterausdruck. Er gibt mir aber keinen genauen Standpunkt an wo der Fehler genau ist.
Hast du vielleicht noch ne andere Idee?
Ich muß nicht unbedingt mit AnsiString machen. Die Inhalte in der Tabelle die ich auslesen und filteren will sind als Text deklariert.
 
moin


Von welchem Typ ist einegentlich "Filter"?
UNd warum benutzt du das einemal
AnsiString("Art='") und dann wieder nur "*'"?


mfg
umbrasaxum
 
danke für eure Hilfe.
Habe es rausgefunden. War ein Denkfehler
Den Ansistring brauche ich ja garnicht. Weil ich diesen ja schon in die Variable ASuchArt kopiert habe und brauche es somit nicht mehr anzugeben


tblArtikel->Filter = "Beschreibung='"+ASuchBeschreibung+"*' AND Art='"+ASuchArt+"*' ";

DANKE
 
Zurück