Domino 9 und frühere Versionen > ND6: Entwicklung

Listenfeld -> gewähltes Element holen

(1/3) > >>

diwi:
Tag zusammen,

ich habe von einem unserer Schwesterwerke eine DB "geerbt", die bis jetzt wunderbar funktioniert hat.

In der DB gibts eine Maske, die für eine Kunden Auswahl benutzt wird. In dieser Maske gibt es zwei Listenfelder.
Das erste ist eine Kundenliste (List), die aus einer Ansicht gefüllt wird.

--- Code: ---@DbLookup( "": "ReCache" ; "":"" ; "(CustomerView)"; @Text(SearchCustomer) ; 1; [PartialMatch])
--- Ende Code ---

Die (CustomerView) besteht  aus einer Spalte:
KundeA | DocUID
KundeB | DocUID
KundeC | DocUID
usw.

Die andere ist eine Kontaktliste, die nach Auswahl der Kundenliste ebenfalls aus einer Ansicht gefüllt wird.

--- Code: ---@If(List="";"";@DbLookup( "": "ReCache" ; "" : "" ; "(ContactView)"; List ; 2 ))
--- Ende Code ---

Nach Auswahl des Kontakts werden weitere Felder im Dokument gefüllt.

So und nun zum Problem. Sobald in der Kundenliste der Kundenname doppelt vorkommt funktioniert das ganze nicht mehr, da das Feld "List" mir zwei DocUID's zurückgibt und somit die Kontakte von beiden Kunden auftauchen.

Besteht die Möglichkeit nur den gerade gewählten Kunden aus dem Listenfeld rauszubekommen?
Oder zumindest abzufragen welcher der gleichnamigen Kunden gewählt ist?
Oder bin ich da ganz auf dem Holzweg... und es gibt eine andere Lösung dafür?

Bin für alle Vorschläge dankbar!

Gruß

Dimitri

DAU-in:
Warum verwendest du beim ersten DBLookup partialmatch?

[PARTIALMATCH] returns a match if the key matches the beginning characters of the column value.


grüsse

Dau-in

diwi:

Ach hab ich vergessen zu erwähnen...  ;D

In der Maske gibts noch das Feld "SearchCustomer". In dieses Feld soll der User Anfang vom Kundennamen eingeben können, durch welchen dann die Liste der Kunden eingeschränkt wird. Daher das [PARTIALMATCH].

Gruß

Dimitri

LotusMen:
Das Problem kann über LotusScript umgesetzt werden ;).

LN4ever:
Hallo Dimitri,

so in etwa könnte es etwas werden:

zwisch:=@DbLookup(....);
@If(@IsError(zwisch);@Return("");NULL);
@If(@Elements(zwisch)<1;@Return("");NULL);
Vorschlag:=@Subset(zwisch;1);
List:=@If(@Elements(zwisch)=1;zwisch;@Prompt([OKCANCELLIST]; ...;Vorschlag;zwisch));

Gruß

Norbert

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln