Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: sslneve am 22.06.05 - 16:38:34
-
Hallöchen,
ich habe zwei Listboxen, eine mit Abteilungskürzeln und die andere mit Namen. Entweder bin ich zu doof oder denke falsche oder was auch immer :) Ich hätte eigentlich nur gerne, daß nur die Mitarbeiter angezeigt werden, die in einer der Abteilungen sind, die in der Abteilungslistbox angewählt wurden. Refresh usw. ist kein Problem. Ich frage mich nur, wie ich die Choices der Mitarbeiterlistbox dergestalt dynamisieren soll. Momentan hole ich mir halt alle mit folgendem:
database := @Subset(@DbName; -1);
server := @Name([CN]; @Subset(@DbName; 1));
@Sort(@Unique(@DbColumn("":""; server:database; "All";49));[Ascending])
By the way: Ist alles in der gleichen DB. Braucht man da unbedingt @DbColumn oder @DbLookup?
Beste Grüsse
Markus
-
Select alleine ist dbColumn
Select where ist dbLookup
-
hmm, sehe ich das richtig, daß @dblookup in der ersten sortierten spalte eines views sucht? Damit wäre "b" aus meinem Pseudo-SQL Query nicht frei wählbar bzw. angebbar. Sehe ich das so richtig?
-
@dbLookup erwartet einen eindeutigen Schlüssel (! Damit kannst Du immer nur eine Abteilung auswählen im ersten Feld) und liefert Dir dann entweder die geforderten Feldwerte der gefundenen Dokumente oder die Einträge einer von Dir spezifizierten Spalte.
Wenn Dir eine Abteilung reicht, dann geht das Verfahren sehr wohl mit @dbLookup.
Bernhard
-
dbLookup nimmt die erste Spalte als Suchkriterium, das ist richtig. Eine Einschränkung ist das nicht, da Du ja die View selber aufbauen kannst.
-
Hab jetzt mal so ne View gebaut ... allerdings bräuchte ich tatsächlich die Mehrfachauswahl der Abteilungen .... schöner Sch.... :))
-
wie sieht deine Ansicht "All" aus?
:-:
-
Du kannst Dir natürlich mir einer For-Schleife und mehreren @dbLookups auch das gewünschte Keyword-Item zusammenbasteln - die einzelnen Listen sind dann durch einen Doppelpunkt miteinander zu verketten.
Bernhard
-
Cool, geht auch mit mehreren Abteilungen:
database := @Subset(@DbName; -1);
server := @Name([CN]; @Subset(@DbName; 1));
@Sort(@Unique(@DbLookup("":""; server:database; "MA";fAbteilung;2;[PartialMatch]));[Ascending])
Der View MA enthält nur eine Spalte mit dem Abteilungskürzel und eine Spalte mit dem Namen des Mitarbeiters, jeweils eines/einer davon pro Zeile. Liegts etwa an [PartialMatch]? Wobei das doch eher andersrum gemeint ist, oder?
-
Die Hilfe schweigt über das Thema, damit ist anzunehmen, dass ein Multivalue-Wert als Key gestattet ist.
-
Guten Morgen
Schon recht, das ganze hat nur einen Hacken, Dblookup stoppt die Suche beim ersten Schlüsselwert der keinen Wert zurück gibt.
Ein Beispiel:
Wenn die Ansicht a,b,d,e,f enthält und Du den lookup mit a,b,c,d,e machst, wird nur a und b zurück gegeben, aber nicht d und e, weil mit dem Schlüssel c kein Wert gefunden wurde. Deshalb schweigt die Hilfe wahrscheilich zu dem Thema. Eine For-Schleife ist wohl die bessere Lösung.
Schönen Tag noch.
Ist bei euch auch so schön warm?
Tilsche
-
Das ist gut zu wissen. Danke.
-
Hallöchen,
ich habe zwei Listboxen, eine mit Abteilungskürzeln und die andere mit Namen.
Du machst ein DBColumn auf die Abteilungskürzel für die erste Listbox.
Dann machst du in der zweiten Listbox eine Formel für die Auswahl mit einem DBLookup gegen eine Ansicht 1. Spalte: Abteilungskürzel und 2. Spalte Namen. Key ist das gewählte Abteilungskürzel der 1. Selectbox.
In der ersten selectbox hakst du "Felder bei Schlüsselwortänderung aktualisieren" in der 2. hakst du "Auswahl der Dokumentenaktualisierung aktualisieren" an.
Ausserdem benötigst du ein Errorhandling gegen null Werte in der ersten Selectbox und ausserdem muß der selektierte Wert in der 2. Selectbox entfernt werden, sobald sich die erste Selectbox ändert. As Simple as That.
Bernhardts Lösung find ich auch gut, wobei ich der Meinung bin, dass man das vielleicht auf einem DBLookup vermindern könnte, sobald man intelligent mit Mehrfachwerte getrennt anzeigen arbeitet. Bin mir da aber nicht sicher.
Gruß Axel
Axel
-
Ich meine, die DesignerHelp äussert sich eigentlich eindeutig - zumindest, wenn man es mit den Einträgen zu den anderen @functions vergleicht:
Schlüssel
Text. Bestimmt, welches Dokument für einen Wert durchsucht wird. Der Schlüssel eines Dokuments ist der Wert, der in der ersten sortierten Spalte innerhalb der Ansicht angezeigt wird. Siehe "Schlüssel angeben".
Da steht "Text". Text ist skalar. Zumindest im oben genannten Kontext, denn sonst steht immer da: "Text oder Textliste".
Wenn ich mal Zeit habe, mache ich mal einen R5-Versuch. Das könnte angesichts der Tatsache, dass das eine komplett andere formula engine hatte, könnte das interessant sein. Vielleicht ist Damien mit der R6-Engine hier über's Ziel hinausgeschossen oder hat es nicht fehlerfrei hinbekommen (daher auch keine Änderung des Hilfe-Textes). Ich bin da auf die R7 formula engine gespannt in der Hoffnung, dass die gegenwärtige engine kritisch hinterfragt wurde.
Bernhard