Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: immanuel am 15.02.07 - 18:09:18
-
Hallo Zusammen
In deiner Dialoglist möchte ich einen Dblookup machen, um die Werte aus einer View herauszulesen. Ich möchte, dass in der Auswahl die volle Bezeichnung sichtbar (Spalte2), aber jedoch der Code in Spalte1 als Wert verwendet wird. Angezeigt werden soll also in Dialogfeld der Name und rechnen soll Notes mit dem Code.
Ist dies möglich?
Ich habe es bereits mit einer View probiert die "Name | Code" Werte liefert, leider übernimmt DBlookuo aber immer nur Name.
Danke für eure Hilfe!
Grüsse
Manuel
-
Schwer verständlich ist sie, Deine Frage ...
Was ich herausgelesen habe: Du willst auf die Aliase von Schlüsselwortfeldern zurückgreifen. Diese sind aber nur im Frontend im Zusammenhang mit der Maske / dem Feld verfügbar. Also: Entweder speicherst Du diese Aliase schon mit dem Feld ab (was dem Sinn von Aliases widersprechen würde), oder Du hast da keine Chance - vor allem nicht in Ansichten.
Bernhard
-
Ich möchte, dass in der Auswahl die volle Bezeichnung sichtbar (Spalte2), aber jedoch der Code in Spalte1 als Wert verwendet wird. Angezeigt werden soll also in Dialogfeld der Name und rechnen soll Notes mit dem Code.
Wenn die Auswahl statt einer Dialoglist auch eine PickList sein kann, sollte folgendes möglich sein:
Eine View statisch oder dynamisch (z.B notesView.SelectionFormula = formula$) per Script zusammenstellen, bei welcher in der angezeigten Spalte die Bezeichnung dargestellt wird. In einer weiteren, versteckten Spalte den Code und die Bezeichnung mit einem Separator zusammen nehmen.
Bei der PickList die versteckte Spalte als Rückgabewert angeben und mittels strtoken den Code herausfiltern...
-
Und ich hätte noch als Alternative @DBColumn vorgeschlagen. In einer zweiten Spalten einfach den Wert rausrechnen (@left...) und aus dieser Spalte dann übernehmen.
Gruß
Thomas
-
Hi!
Ich versuche mich nochmals zu präzisieren.
Wie haben eine View mit allen Infos für ein Dialogfeld oder ähnliches drin. In der View haben wir verschiedene Spalten, eine mit einem Code und eine mit einer Beschreibung.
Wir möchten mit dem Code grundsätzlich arbeiten, weil dieser aber eine eine ganz kurze Version ist, ist es nicht Benutzerfreundlich. Anstatt der Code soll im Dialogfeld oder so. der Code und Bezeichnung oder nur Bezeichnung auf einer Zeile sichtbar sein z.B. "FE - Ferien" oder "Ferien". Wir können in der DB aber nur mir dem Code weiterarbeiten. Darum darf nur der Code ins Feld über nommen werden, zB. nur "FE".
Toll wäre wenn ohne weiteres Coding die Spalte 1 als Key (Code) übernommen werden könnte, in der Auswahl jedoch die Bezeichnung aus Spalte 2 sichtbare wäre.
Lösungsvorschläge?
PS: Die Bilder passen nicht zu diesem Post, zeigen aber dass ich es mit "Beschreibung|Code" versucht habe.
Grüsse
Manuel
-
Hallo
Ich habe die Lösung, die Sache ist nun für mich gegessen. Über eine Viewansicht für die Dialogbox konnte ich es mit einer eigenen View elegant löschen. Siehe Bilder.
Gruss
Manuel
-
Hallo
Irgendwie verstehe ich das hier nicht :-\ :-: :P
Der Michael hat doch schon im Posting #2 die Antwort geliefert ??!!!
Wenn die Auswahl statt einer Dialoglist auch eine PickList sein kann,
Du machst eine Ansicht -> 1. Spalte = der "benuterfreundliche" Wert -> 2. Spalte nur Alias oder Wert + "~~" + Alias -> 2. Spalte verborgen.
Wenn der Benutzer über einen Button eine Auswahl treffen will, zeige ihm die Ansicht via @Picklist -> Rückgabewert = 2. Spalte .... etc.
-
Mal ein Schuss ins Blaue.
Füge in deinen Dialog ein verstecktes, berechnetes Textfeld (mit Mehrfachwerten) ein. In der Werte - Formel machst du zwei DbLookup's, einmal auf die Spalte mit der Beschreibung und einmal auf die mit dem Code. Die baust du dann noch entsprechend mit dem Pipe-Zeichen zusammen.
erg1:=@DbLookup(....);
erg2:=@DbLookup(....);
erg1 + "|" + erg2;
Die Auswahlformel der Dialogliste holt sich dann die Werte aus diesem Feld.
Axel
-
Mal ein Schuss ins Blaue.
Füge in deinen Dialog ein verstecktes, berechnetes Textfeld (mit Mehrfachwerten) ein. In der Werte - Formel machst du zwei DbLookup's, einmal auf die Spalte mit der Beschreibung und einmal auf die mit dem Code. Die baust du dann noch entsprechend mit dem Pipe-Zeichen zusammen.
erg1:=@DbLookup(....);
erg2:=@DbLookup(....);
erg1 + "|" + erg2;
Die Auswahlformel der Dialogliste holt sich dann die Werte aus diesem Feld.
Axel
Hi! Würe das echt gehen? Gibt DBLookup nicht einen Array zurück?
Das nur eine Frage, keine Berichtigung :)
Gruss
Manuel
-
DbLookup gibt einen Text oder eine Textliste zurück. Das heißt, wenn nur ein Wert gefunden wird, dann gibt DbLookup einen Text zurück.
-
Hi! Würe das echt gehen? Gibt DBLookup nicht einen Array zurück?
Das nur eine Frage, keine Berichtigung :)
Gruss
Manuel
Das geht.
Axel