ausser einem klitzekleinen Hinweis habe ich einen (für mich entscheidenden) Punkt bisher vermisst:
Diesen ganzen Klumpatsch- Code (um die 30 Zeilen, je nachdem wie man zählt), lässt sich durch
eine Zeile Formelsprache (2 mit Errorhandling) ersetzen, und damit muss man
a) nicht auf "SAVETODISK=FALSE" achten
b) nicht die verschiedensten Events ausprogrammieren (Postopen, Querymodechange....)
c) nicht backend- Routinen benutzen, um etwas im Frontend zu bewegen.
d) nicht darauf vertrauen, dass das Feld "Bereich" im Dokument schon gefüllt ist, wenn man das Dokument öffnet, das berechnete Feld reagiert (beinahe) automatisch auf Änderungen des Bereichs
Also:
Du erstellst eine View "PersonalLkp" (das kann man auch sein lassen und unten den DBLookup durch einen DBColumn ersetzen, dann muss man aber für jeden neu hinzugekommenen Bereich immer als Designer eingreifen und eine neue Ansicht erstellen, mit einer Kategorisierten View ist das nicht mehr nötig)
1. Spalte ist Kategorisiert, enthält das Feld Bereich
2. Spalte ist sortiert, enthält das Feld "PersNr"
Dann erstellst Du ein Feld ArrPersNr, Berechnet zur Anzeige, Versteckt, Formel:
lkp := @DBLookup( "" : "NoCache" ; "" ; "PersonalLkp" ; Bereich ; 2 );
@If( @IsError( lkp ) | lkp = "" ; "-FEHLER: Keine Personalnummern im Bereich-" ; lkp );
FERTIG !!!
Wenn man sein Handwerkszeug kennt, dann ist Notes ein rapid-development-tool, aber wenn man nicht mal absolute basics beherrscht, dann stösst man immer wieder an solche unlösbaren Probleme....
Tode
...der sich schon lange nicht mehr darüber wundert, dass es kaum noch Notes- Entwickler gibt, die das Wort "Designer-Schulung" nur aus Foren kennen...