Wieder ich...
Man merkt, dass ich heute ein bisschen Zeit habe.
Also wenn's unbedingt mit @Formeln sein muss...
Um einen Wert aus einer anderen Datenbank zu holen brauchst Du den besagten eindeutigen Schlüsse (ob @Formel oder LS ist egal, Schlüssel braucht man immer).
Nehmen wir mal an, dass der Name eindeutig ist.
Dann kann man mit @DbLookup direkt in einer Ansicht auf ein Dokument und dort auf ein Feldwert zugreifen:
@DbLookup("":"NoCache"; ""; view; key; feldname) holt den Wert aus einer Ansicht in der aktuellen Datenbank.
Wenn es eine andere Datenbank ist, gibt es zwei Möglichkeiten:
@DbLookup("":"NoCache"; server:pfad; view; key; feldname) oder
@DbLookup("":"NoCache"; replikid; view; key; feldname)
Anstatt des Feldnamens, kann man auch eine Spaltennummer angeben, wenn es passt.
Der komplette Code würde dann so aussehen:
FIELD sCity := @DbLookup("":"NoCache"; "SRV":"names.nsf"; "($Users)"; sCombo; "City");
Das Combobox-Feld heißt "sCombo", dort wird der vollständige Name (am besten voll qualifiziert, also CN=.../OU=...) ausgelesen. Für die Person gibt's im globalen Adressbuch auf dem Server "SRV" ein Dokument und den Wohnort speichere ich im aktuellen Dokument in das Feld "sCity". Alles klar?
Natürlich kann man das ein bisschen schöner machen und eventuell fehlende Dokumente abfangen usw.
dbSrv := "SRV" : "names.nsf";
view := "(@Users)";
key := sCombo;
feld := "City";
val := @DbLookup("":"NoCache"; dbSrv; view; key; feld);
erg := @If(@IsError(val); ""; val);
FIELD sCity := erg;
Und das machst Du dann für alle Daten, die Du brauchst.
Gruß,
Joachim
P.S.: Mit LotusScript ist's aber schöner...