Domino 9 und frühere Versionen > ND6: Entwicklung

@if-mit veränderlichen Bedingungen - wie ohne hardcoden??

<< < (2/2)

Axel:
Hi,

ich glaube, da wirst du Pech haben. Vor diesem Problem stand ich auch schon ein paar mal. Ich habe bisher auch noch keine Lösung gefunden.


Axel

Tode:
Ich versuche mal zu rekapitulieren:

Du hast drei Felder:

Fahrzeug:
Auto, Motorrad, Fahrrad

Fahrer:
Mann,Frau

Alter
20,30,40

und Du hast ein Ergebnis-Dokument mit verschiedenen Feldern. Diese Felder sollen je nach Kombination der drei Felder angezeigt werden...

Was Du brauchst ist eine Zuordnung:
Auto - Mann - 20 : Ergebnis 1
Motorrad - Frau - 30 : Ergebnis 2
Fahrrad - Frau - 40 : Ergebnis 3

ALSO: Du erstellst Dir mehre Konfig- Dokumente (für jede mögliche Kombination eins), in die Du die selben Radio- Buttons einfügst, und zusätzlich den Namen des Ergebnis-Feldes, das zu dieser Kombination gehört...

Dann machst Du eine Ansicht (konfiglkp) über diese Dokumente, mit zwei Spalten:

erste Spalte (sortiert):
Option1+ "~" + Option2 + "~" + Option3
zweite Spalte:
Ergebnis

das sieht dann für obiges Beispiel so aus:
Auto~Mann~20Ergebnis1Motorrad~Frau~30Ergebnis2Fahrrad~Frau~40Ergebnis3Dann brauchst Du ein "zwischenlookup":
crit := Option1 + "~" + Option2 + "~" + Option3;
lkp := @DBLookup( "" : "NoCache" ; "" ; "konfiglkp" ; crit ; 2 );
crit2 := lkp;
lkp2 := @DbLookup("":"NoCache"; ""; "vwKonfigurationLookup";"Allgemein";crit2);

Wenn jetzt neue Optionen dazukommen, dann erstellst Du einfach für diese Option ein neues Konfig- Dokument, und der Kittel ist geflickt... Natürlich fehlt hier noch der Fehlerbehandlungsfall (was, wenn es für die Kombination keine Konfig- Gibt, also quasi der "Fallback" auf ein Standard- Feld), aber das ollte ja alles kein Problem sein.

HTH
Tode

thorkill:
Auch wenn das Thema schon lange vorbei, kann es bei manchen Internetsuchen eventuell helfen.

Ok wegen der IF Abfrage ist es ganz einfach:

Wenn das Feld für die Radio Buttons   Test  heisst geht die IF Abfrage so

@IF(Test="";1;0)

Das heisst, wenn in Feld Test  etwas angeklickt wird, egal was, dann ist der Wert 1 (true) sonst 0 (false). So kann man dies weiter beliebig erweitern.

Weiter könnte man in der Liste (im Domino Designer) bei dem Feld mit dem Type Radio Button hinter jeder Auswahl einen Alias mit einer Pipe (wie bei den Masken) setzen.

So könnte dann die Liste aussehen:

Test1 | 1
Test2 | 2
Test3 | 3

Und die @IF Abfrage

@IF(Field=“1“;1;Field=“2“;0;Field=“3“;1;0)

Das heisst Wenn Test1 mit Alias 1 gedrückt wird gibt es einen Wert 1 aus, wenn Test2 mit Alias 2 dann gibt es den Wert 0, und noch wenn Test3 mit Alias 3 gedrückt wird dann gibt's den Wert 1 aus, sonst bei else Wert 0.

dirk_2909:
Hallo

einen alten Thread wieder "aufmachen" ist nicht so toll.  :-P

Vor allem, wenn die "Antwort" nicht zum Thema passt  ;)

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln