Autor Thema: Sowas wie Select a where b="xxx"  (Gelesen 2427 mal)

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Sowas wie Select a where b="xxx"
« 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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Sowas wie Select a where b="xxx"
« Antwort #1 am: 22.06.05 - 16:40:15 »
Select alleine ist dbColumn

Select where ist dbLookup
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: Sowas wie Select a where b="xxx"
« Antwort #2 am: 22.06.05 - 16:48:43 »
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?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Sowas wie Select a where b="xxx"
« Antwort #3 am: 22.06.05 - 16:50:59 »
@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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Sowas wie Select a where b="xxx"
« Antwort #4 am: 22.06.05 - 16:57:01 »
dbLookup nimmt die erste Spalte als Suchkriterium, das ist richtig. Eine Einschränkung ist das nicht, da Du ja die View selber aufbauen kannst.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: Sowas wie Select a where b="xxx"
« Antwort #5 am: 22.06.05 - 16:59:21 »
Hab jetzt mal so ne View gebaut ... allerdings bräuchte ich tatsächlich die Mehrfachauswahl der Abteilungen .... schöner Sch.... :))

Offline shiraz

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 648
  • Geschlecht: Männlich
Re: Sowas wie Select a where b="xxx"
« Antwort #6 am: 22.06.05 - 17:02:17 »
wie sieht deine Ansicht "All" aus?
 :-:
Gruß
Christian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Sowas wie Select a where b="xxx"
« Antwort #7 am: 22.06.05 - 17:03:05 »
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

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: Sowas wie Select a where b="xxx"
« Antwort #8 am: 22.06.05 - 17:08:34 »
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?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Sowas wie Select a where b="xxx"
« Antwort #9 am: 22.06.05 - 17:15:41 »
Die Hilfe schweigt über das Thema, damit ist anzunehmen, dass ein Multivalue-Wert als Key gestattet ist.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline ctillmanns

  • Aktives Mitglied
  • ***
  • Beiträge: 115
VORSICHT! Re: Sowas wie Select a where b="xxx"
« Antwort #10 am: 23.06.05 - 09:03:07 »
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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Sowas wie Select a where b="xxx"
« Antwort #11 am: 23.06.05 - 09:44:48 »
Das ist gut zu wissen. Danke.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Marinero Atlántico

  • Gast
Re: Sowas wie Select a where b="xxx"
« Antwort #12 am: 23.06.05 - 09:56:16 »
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
« Letzte Änderung: 23.06.05 - 09:59:20 von Marinero Atlántico »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Sowas wie Select a where b="xxx"
« Antwort #13 am: 23.06.05 - 21:52:42 »
Ich meine, die DesignerHelp äussert sich eigentlich eindeutig - zumindest, wenn man es mit den Einträgen zu den anderen @functions vergleicht:

Zitat
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz