Domino 9 und frühere Versionen > ND7: Entwicklung

Felder von einer Maske in eine andere übertragen

<< < (4/8) > >>

Peter Klett:
Firma als Dialogliste verstehe ich. Aus welchen Listen wählst Du die anderen Felder aus, wenn Du dazu Dialoglisten verwendest??

Wenn Du die Firma als Dialogliste behalten willst, musst Du dafür sorgen, dass bei Änderung der Firma die anderen (m.E. einfachen bearbeitbaren) Felder neu berechnet werden. Da wurde ziemlich am Anfang dieser Diskussion der OnChange-Event angesprochen (habe das selbst noch nicht genutzt), da solltest Du mit Deiner Formel ansetzen.

Wenn das nicht funktioniert, bleibt Dir noch das Postrecalc, dann musst Du Dir aber den alten Wert der Firma merken, um eine Veränderung festzustellen.

Marie:
Hallo Peter,

ich glaube ich werde doch auf Picklist zurückgreifen. Das hört sich am Besten an.

Ich habe allerdings noch nie mit diesem Befehl gearbeitet, und verstehe die Beschreibung auch nicht so ganz:


Was für einen "Ordner" muß ich denn angeben?
Kann ich nicht wie bei DBLookup auf eine View in eine bestimmte Spalte greifen?

Gruß Marie

Peter Klett:
Nimm @Picklist ([CUSTOM] ....

Das andere sind spezielle Dialogboxen (für Ordner, Namen, Ressourcen usw.)

Marie:
Hallo Peter,

ich habe es jetzt hinbekommen. Allerdings muß ich 7 felder befüllen, die aber alle die gleiche Firma als Grundlage haben. Ich möchte daher natürlich die Firma nur einmal auswählen. Jetzt habe ich folgenden Code:

a:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 1 );
FIELD firma := a;
@True;
b:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 5 );
FIELD Ansprechpartner := b;
@True;
c:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 2 );
FIELD Straße:= c;
@True;
d:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 3 );
FIELD Ort_1 := d;
@True;
e:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 4 );
FIELD Ort := e;
@True;
f:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 7);
FIELD Mail :=f;
@True;
g:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 6 );
FIELD Telefonnummer := g;
@True

damit muß ich aber natürlich 7 mal die Firma bestätigen.

Gibt es da eine elegantere Lösung?

Gruß Marie

Peter Klett:
Natürlich gibt es da elegantere Lösungen. Eine wurde Dir bereits in #7 vorgeschlagen.

Dazu baust Du dann eine Spalte (dort ist es dann sinnvoll, die zu verstecken, weil sie sonst im Dialog sichtbar wäre), in der Du alle benötigten Felder zusammen darstellst. Natürlich musst Du die einzelnen Wert irgendwie maskieren, z.B. mit einem festen Trennzeichen und dann die einzelnen Werte aus dem Ergebnis ausrechnen. Möglichkeiten und Ideen gibt es da viele.

Eine andere Möglichkeit ist, mit der Picklist die Firma zu holen und dann mittels DBLookup die anderen Felder zu füllen. Du hast doch schon alles beschrieben, musst Du jetzt nur noch in die richtige Reihenfolge und Logik bringen ...

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln