Filter über mehrere Boolean Felder im Report

14. Mai 2009 13:49

Hallo zusammen, ich probiere schon seit geraumer Zeit über mehrere Boolean Felder, eine Filterkombination für einen Report zu ermöglichen.

Das Problem im Detail:
Ich habe in der Tabelle "Sales Header" ein Option Feld "Produkt Typ" eingefügt. Dieses wird benötigt um Aufträge Produktabhängig, an anderer Stelle anzuzueigen.
Nun habe ich einen Report gebastelt, der Werte aus der Tabelle "Sales Haeder" anzeigt. Es soll nun aber über eine Request Form festgelegt werden, welche Produkt Typen angezeigt werden sollen.
Wenn nur ein Option Feld angehakt wird funktioniert mein Filter. Jedoch wenn ich die verscheiden Option Werte kombiniere (also mehr als ein Häkchen setze), werden immer die Datensätze des letzten Filters angezeigt.
Ich hoffe mir kann irgend wer ein Schups in die richtige Richtung geben.

Viele Grüße
Patrick

Re: Filter über mehrere Boolean Felder im Report

14. Mai 2009 14:14

Meinst du das so, das deine Bool-Felder den Filter auf dein Optionsfeld ergeben sollen? Sowas wie
Code:
"Sales Header".SetFilter(ProduktTyp,strsubstno('%1|%2|....',Opt1FallsBool1=true,Opt2FallsBool2=true,...);

Re: Filter über mehrere Boolean Felder im Report

14. Mai 2009 15:03

Ja genau... du hast meine Frage richtig verstanden.
Ich hab deinen Lösungsansatz gleich ausprobiert. Nun erhalte jedoch die Fehlermeldung, das die Typkonvertierung nicht durchgeführt werden kann (Option := Boolean).

Desweiteren versteh ich nicht wie der Option Wert in den Filer gelangen soll.
Ich hab zum Beispiel den Produkt Typ "Hammer". In der Request Form bekommt der "Hammer" die Variable "gHammer".
Im Code würde das dann so aussehen:
Code:
"Sales Header".SetFilter(ProduktTyp,strsubstno('%1|%2|....',gHammer=true,Opt2FallsBool2=true,...);


Vielen Dank im Vorraus...Patrick

Re: Filter über mehrere Boolean Felder im Report

14. Mai 2009 15:13

Das war auch nur als Verständnisfrage, nicht als Lösung :wink:

Tja, wie macht man das vernünftig? Du wirst dir wohl einen Filterstring zusammen setzen müssen, der dann - je nach gesetzten Haken auf deiner RequestForm - zB so aussehen müsste:
"Sales Header".ProduktTyp::Hammer|"Sales Header".ProduktTyp::Zange,
und dann setzt du den so:
"Sales Header".SetFilter(ProduktTyp,strsubstno('%1',Filterstring));

Sollte eigentlich gehen.