Domino 9 und frühere Versionen > ND8: Entwicklung
Felder aus anderem Dokument auslesen
Mitch:
Soweit, sogut.
Aber: Lookups sollte man immer abfangen, also den Fehler-Fall bedenken.
Das könnstest du z.B. tun, indem du die Rückgabe vor der Weiterbearbeitung mit @IsError überprüfst. Alternativ kannst - wenn unkritisch - dem DbLookUp auch ein [FailSilent] mitgeben, dann liefert er im Fehlerfall einfach nichts zurück.
Gruß,
Mitch
MarkusL:
Hallo Mitch,
danke für den Hinweis. Habe ich mit [FailSilent] umgesetzt.
Gruß
Markus
Peter Klett:
Sehe ich das richtig, dass die Formel in der Berechnungsformel des Feldes "team01_wann_01" steht? Falls ja:
Diese Zeile
@If(team01_wann_1="";Feldfertig;team01_wann_1:=team01_wann_1)
könntest Du auch so schreiben
@If(team01_wann_1="";Feldfertig;team01_wann_1)
-> wenn Feld = leer, dann neuer Wert, sonst alter Wert
Dieser Hinweis gilt generell für solche Formeln. Um die Anwendung performanter zu machen, solltest Du die Reihenfolge umstellen.
Du ermittelst im Moment den Wert mittels @DBLookup, den Du eintragen willst
Dann erst prüfst Du, ob der Wert überhaupt eingetragen werden soll
Da ein @DBLookup Zeit kostet, würde ich das umstellen
@If(team01_wann_1!="";@Return (team01_wann_1); "");
Server := "";
DB := "";
Ansicht := "Konfiguration";
Auswahl := "Konfiguration";
Feldauswahl := "team01_wann_1";
team01_wann_1 :=@DbLookup("":"ReCache";Server:DB;Ansicht;Auswahl;Feldauswahl;[PartialMatch]);
Ist das Feld bereits gefüllt, gibst Du den Feldwert zurück und beendest die Funktion, nur wenn es leer ist, berechnest Du es. Da Dein Feld berechnet ist, wird es bei jedem F9 und jedem Speichern neu gerechnet. Da solltest Du auf unnötige Berechnungen verzichten.
MarkusL:
Hallo Peter,
danke für den Tipp.
Leider funktiniert das nicht, da das Feld aufgrund deiner Formel geleert wird. Und dann auch beim nächsten Öffnen nicht mehr gefüllt wird.
???
Gruss Markus
Peter Klett:
Wo steht die Formel?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln