Nach Auswahl Optionswert sofort filtern (GELÖST)

8. Mai 2008 13:54

Hallo ich habe mal wieder eine Anfängerfrage:

Ich habe der Einfachheit halber nen Screenshot beigefügt.

Ich habe auf meiner Form ein Optionsfeld, ich möchte nun erreichen das wenn ich z.B. Englisch auswähle er mir dann auf den Datensatz filtert der bei dem Feld SPRACHE ein 'E' hat und wenn ich Französisch auswähle auf SPRACHE 'F' filtert, ich habe so kurz vorm We anscheinend wieder mal ein Brett vorm Kopf.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von tesarolle am 14. Mai 2008 00:11, insgesamt 1-mal geändert.

8. Mai 2008 21:46

Nimm dir mal die Form Einkaufspreise oder Verkaufspreise (über die Artikelkarte zu erreichen) als Vorbild. Ob es sich um ein Option- oder ein anderes Feld handelt, ist irrelevant. Der Code spielt sich immer im OnValidate-Trigger des Controls ab.

9. Mai 2008 09:27

Hallo Natalie,,

vielen Dank, das mit der Filterung in Abhängigkeit meines Optionsfeldes funktioniert nun, habe das jeweils in den Controls auf der Form hinterlegt.

Nun habe ich aber noch ein anderes Problem. Wenn ich in meinem Optionsfeld z.B. "Englisch" auswähle filtert er mir ja dann auf Sprachcode "E", wenn dort kein Satz ist ist das natürlich leer.

Nun möchte ich erreichen, das wenn kein Satz da ist und der Anwender z.B. in das BEZ1 Feld was einträgt das dann der Satz angelegt wird aber vorher unbedingt der Code aus meinem Validate Trigger BEZ1 ausgeführt wird (das Feld ARTNRSPRA muss gefüllt werden). Momentan macht er da gar nix (wenn ich Feld BEZ1 verlasse), ich bin mir nicht sicher woran das liegt.

Mein Code sieht jetzt so aus:



"ON Validate von optionsfeld"
Code:
IF optionsfeld = optionsfeld::Deutsch THEN SETFILTER(SPRACHE, 'D');
IF optionsfeld = optionsfeld::Englisch THEN SETFILTER(SPRACHE, 'E');
IF optionsfeld = optionsfeld::Französisch THEN SETFILTER(SPRACHE, 'F');
IF optionsfeld = optionsfeld::Italienisch THEN SETFILTER(SPRACHE, 'I');


"ONAfterValidate von optionsfeld"
Code:
CurrForm.UPDATE;




OnValidate BEZ1
Code:
ARTNRSPRA := FORMAT(ARTIKELNR + '                       ' + SPRACHE);