Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Jérôme am 07.02.03 - 10:46:05

Titel: @picklist?
Beitrag von: Jérôme am 07.02.03 - 10:46:05
Hallihallo!

Mein erstes Problem aus der Formelsprachenwelt...

Ich weiß, wie ich mit @Picklist auf eine Ansicht zugreife und den Wert aus einer bestimmten Spalte eines ausgewählten Dokuments zurückliefere.

Jetzt will ich aber von einem Dokument zwei Spaltenwerte zurückgeliefert haben.

WIe stelle ich es also an, dass mein Benutzer in einer Dialogbox in einer Ansicht ein Dokument auswählt, und daraus die Werte aus zwei Spalten gezogen werden, so dass ich Variable1 = Wert aus Spalte 1 und Variable2 = Wert aus Spalte 2 setzen kann?

*seufz*
Titel: Re:@picklist?
Beitrag von: Christopher am 07.02.03 - 11:31:25
Hier ist mal ein kleines Beispiel von mir du muß dort mit @DbLookup arbeiten und die werte ermitteln.

Gruß Christopher

FIELD AKategorie:="AKategorie";
FIELD AArtikelNr:="AArtikelNr";
FIELD AArtikelbezeichnung:="AArtikelbezeichnung";
FIELD AVerfuegbaremenge:="AVerfuegbaremenge";
FIELD Lageradmin:="Lageradmin";
FIELD DOCIDLAGER:="DOCIDLAGER";


choice:=@PickList([Custom] ; @DbName ; "1. Lager III 3" ; "Wählen Sie die Org.-Struktur" ; "Die Vorgabe wird in der Ansicht  Setup Org.-Struktur definiert";4);

l:=@DbLookup("":"NoCache"; @DbName; "Lager"; choice;"ArtikelNr");
l0:=@DbLookup("":"NoCache"; @DbName; "Lager"; choice;"Artikelbezeichnung");
l1:=@DbLookup("":"NoCache"; @DbName; "Lager"; choice;"Lagerbestand");
l2:=@DbLookup("":"NoCache"; @DbName; "Lager"; choice;"Kategorie");
l3:=@DbLookup("":"NoCache"; @DbName; "Lager"; choice;"Owner");
l4:=@DbLookup("":"NoCache"; @DbName; "Lager"; choice;"DOCID");



@SetField(AArtikelNr;l);
@SetField(AArtikelbezeichnung;l0);
@SetField(AVerfuegbaremenge;l1);
@SetField(AKategorie;l2);
@SetField(Lageradmin;l3);
@SetField(DOCIDLAGER;l4)
Titel: Re:@picklist?
Beitrag von: Jérôme am 07.02.03 - 11:55:20
Vielen Dank für die schnelle Antwort...

Bei mir kommt allerdings jetzt die Fehlermeldung "Eintrag im Index nicht gefunden" - könnte das damit zusammenhängen, dass in meinem Feld Mehrfachwerte vorkommen?

Hier ist mal mein Code...


FIELD Leser:="Leser";
FIELD Bearbeiter:="Bearbeiter";

auswahl :=@PickList([Custom]:[Single]; "--servername--":"--dbname--"; "($AccessProfilesUI)";"Bearbeiter auswählen";"Bearbeiter auswählen"; 3);

vLeser := @DbLookup ("":"NoCache" ; "--servername--":"--DB Name--"; "($AccessProfilesUI)"; auswahl; "ProfileDocumentReaders");
vBearbeiter := @DbLookup ("":"NoCache" ; "--servername--":"--dbname"; "($AccessProfilesUI)"; auswahl; "ProfileDocumentAuthors");

@SetField(Leser; vLeser);
@SetField(Bearbeiter; vBearbeiter);
Titel: Re:@picklist?
Beitrag von: Axel am 07.02.03 - 12:09:40
Hi,

überprüf mal die Angaben für den Server und die Datenbank in @Picklist und @DbLookup. Die sehen mir recht seltsam aus.

Wenn du hier @DbName einsetzt, hast du beide Parameter auf einmal.

die Picklist - Zeile würde dann so aussehen:
auswahl :=@PickList([Custom]:[Single]; @DbName; "($AccessProfilesUI)";"Bearbeiter auswählen";"Bearbeiter auswählen"; 3);

Wenn die Ansicht vorhanden ist sollte das funktionieren.

Ausserdem mußt du beachten, das die Ansicht für DBLookup in der ersten Spalte entsprechend sortiert ist.

Axel
Titel: Re:@picklist?
Beitrag von: Jérôme am 07.02.03 - 12:20:37
hihi, den server- und db-namen hab ich bloß ersetzt, um das Sicherheitsbewusstsein meines Chefs zu befriedigen ;)

Es handelt sich dabei um eine andere DB auf dem gleichen server, und das @Picklist funktioniert auch.

Die erste Spalte ist auch sortiert.

Muss ich bei dem @Picklis bei der Spaltenangabe was besonderes beachten?
Titel: Re:@picklist?
Beitrag von: Axel am 07.02.03 - 12:35:35
Hi,

eigentlich kannst du jede x-beliebige Spalte einer Ansicht angeben.

Nur muß die Ansicht, auf die du mit @DbLookup mit diesem Rückgabewert zugreifst auch nach diesem Werten sortiert sein. Sonst kann @DbLookup nicht finden.

Versuch mal die erste Spalte als Rückgabe für Picklist  zu verwenden.

Axel
 
Titel: Re:@picklist?
Beitrag von: Jérôme am 07.02.03 - 12:40:44
Juhuuu - stimmt, die angegebene Spalte war nicht sortiert... Vielen, vielen Dank, Axel!!