Domino 9 und frühere Versionen > ND6: Entwicklung

Feld füllen mit @DbLookup und 2 Wert finden.

<< < (6/6)

Semeaphoros:
Volle Zustimmung, Bernhard, das entspricht meinem ersten Vorschlag.

robertpp:
@Bernhard: Es ist sicher so machbar aber das ist denke ich der letzte Lösungsweg.

Ich hab jetzt das hier:
FIELD SubProcess := SubProcess;
value := "";
value1:="";
value2:="";
@If(Division != ""; @Do(@Set("value"; @DbLookup("":"ReCache"; ""; "InputOutput";Division; 2));
                                     @Set("value1"; @DbLookup("":"ReCache"; ""; "InputOutput";Division; 4));
                                     @SetField("ResponsibleProcess";value1);


@For(n := 1;

n <= @Elements(value1);
n := n + 1;
@Prompt([Ok] ; "For "; value1[n]);
@If(value1[n] = SubProcess ; value2 := value1[n]  ; "");@Prompt([Ok] ; "value1"; value2))




                                     )
; "");
@If(@IsError(value) | value = ""; ""; value)

in meinem Teilprozessfeld als formula for choice.
Wenn ich das Feld jetzt auf einen anderen Wert setze dann passiert folgendes:
Eine Msgbox mit "FOR": 2.2 001 Logistik Management~~Robert Prinz
jedoch ist die Msgbox mit "Value1" gleich leer, dann
Msgbox mit "FOR": 1.2 902 Permanente Inventur durchführen~~ich
und wieder Msgbox mit "Value1" als Tilte gleich leer.
usw.
dh irgendwie macht er das Vergleichen nicht!
@If(value1[n] = SubProcess ; value2 := value1[n]  ; "")
An was kann das liegen?

robertpp:
So und jetzt für alle die das Problem auch schon mal gehabt haben und die Lösung über eine zweite View oder über die Picklist nicht machen wollten meine Lösung:

value := "";
value1:="";
value2:="";
@If(Division != ""; @Do(@Set("value"; @DbLookup("":"ReCache"; ""; "InputOutput";Division; 2));
                                     @Set("value1"; @DbLookup("":"ReCache"; ""; "InputOutput";Division; 4));
                                     @SetField("ResponsibleProcess";"");
                                     @For(n := 1;
                                               n <= @Elements(value1);
                                               n := n + 1;
                                                       @If(SubProcess = @Word(value1[n];"~~";1) ; value2 := @Word(value1[n];"~~";2)  ; "")
                                     );
                                     @SetField("ResponsibleProcess";value2)
                              )
; "");
@If(@IsError(value) | value = ""; ""; value)


Eigentlich schon fertig gewesen nur ein kleiner Denkfehler in der @if -Schleife im @For.

Ich werde das ganze unter Tips & Tricks eintrragen auch mit den anderen Lösungswegen nur fehlt mir eine passende Überschrift??? Wie könnte man das taufen?

Jörg:

--- Zitat von: robertpp am 22.08.05 - 09:54:56 ---
value := "";
value1:="";
value2:="";
@If(Division != ""; @Do(@Set("value"; @DbLookup("":"ReCache"; ""; "InputOutput";Division; 2));
                                     @Set("value1"; @DbLookup("":"ReCache"; ""; "InputOutput";Division; 4));
                                     @SetField("ResponsibleProcess";"");
                                     @For(n := 1;
                                               n <= @Elements(value1);
                                               n := n + 1;
                                                       @If(SubProcess = @Word(value1[n];"~~";1) ; value2 := @Word(value1[n];"~~";2)  ; "")
                                     );
                                     @SetField("ResponsibleProcess";value2)
                              )
; "");
@If(@IsError(value) | value = ""; ""; value)



--- Ende Zitat ---

Bei Lotus Notes5 bekomme ich immer angezeigt, das der Befehl@for nicht bekannt ist,daher die Frage wie dies ausehen muss??

robertpp:
@FOR

Note  This @function is new with Release 6.

Robert

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln