ANWENDUNGSGESTALTUNG
Wenn Sie eine benutzerdefinierte Abonnementmaske für Ihre Datenbank erstellen möchten, können Sie mit der vorgegebenen Abonnementmaske namens $Subscription in der HEADLINES.NSF- oder HEADLINES.NTF-Datenbank beginnen, die zum Lieferumfang von IBM® Lotus® Domino(TM) Designer gehört. Kopieren und fügen Sie die Maske zunächst in Ihre Datenbank ein und passen Sie sie anschließend an. Wenn Sie eine Abonnementmaske anpassen, müssen Sie das Formelfeld verwenden. Das Formelfeld auf der $Subscription-Maske heißt $HLFormula und befindet sich im zweiten Register der Tabelle auf der rechten Seite der Maske. Das $HLFormula-Feld ist ein berechnetes Feld. Wenn das Formelfeld ein berechnetes Feld bleiben soll, schreiben Sie eine Formel, deren Auswertung eine Formel für eine Abonnementliste ergibt. Das Formelfeld muss eine Auswahlformel ergeben, mit der der Server die Abonnementkriterien des Benutzers abrufen kann.
Weiterhin können Sie für das Formelfeld auch die Option "Felder als Literale" im Register "Feld Info" der InfoBox "Eigenschaften: Feld" wählen. Wenn Sie die Option "Felder als Literale" wählen, programmieren Sie das Formelfeld so, dass es die eingegebene Formel akzeptiert, ohne sie zu kompilieren. Wenn Sie eine Formel in Worten ausdrücken, müssen die Feldreferenzen folgendermaßen lauten: Text, Textliste, Zahl, Zahlenliste, Datum, Datumsbereich oder Datumsliste. Wenn das referenzierte Feld ein anderer Feldtyp ist, wird es als Feldreferenz ausgelassen.
Folgendes Beispiel zeigt eine Formel eines Formelfeldes, für das die Option "Felder als Literale" ausgewählt ist:
Select (Namen = TestNamen) & (Zahlen = TestNummern) & (Kategorien = TestKategorien)& (Daten = BspDaten)
Das aktuelle Dokument hat folgende Felder und Werte:
Select (Namen = "Sandra Müller/Acme" : "Elke Meier/Acme" ) & (Zahlen = 1 : 2 : 3) & (Kategorien = "München" : "Berlin" : "Frankfurt") & (Daten=[26.3.97]:[10.08.98]:[15.3.99]
Wenn Sie die berechnete Option wählen, muss sich aus der von Ihnen eingegebenen Formel eine andere Formel ergeben. Dadurch haben Sie die Möglichkeit, komplizierte Formeln zu optimieren, bevor sie gespeichert werden. Nach der Auswertung der Formel wird die sich daraus ergebende Formel gespeichert.
Wenn die berechnete Formel ungültig ist, wird das Feld mit einem fehlerhaften Wert gespeichert. Es kann vorkommen, dass der Benutzer das Dokument nicht mehr schließen kann. Um zwischen einer erfolgreichen und fehlgeschlagenen Formelberechnung zu unterscheiden, sollten Sie im QuerySave-Ereignis testen, ob das Formelfeld tatsächlich eine Formel enthält. Ist dies nicht der Fall, ergab die Formelberechnung eine ungültige Formel.
Ein berechnetes Formelfeld enthält beispielsweise folgende Formel:
TestNamem := "\"" + @Implode( TestNamen; "\" : \"") + "\"";
TestNummern := @Implode( @Text(TestNummern); " : ");
TestKategorien := "\"" + @Implode( TestKategorien; "\" : \"") + "\"";
"Select (Namen = " + TestNamen + ") & (Zahlen = " + TestNummern + ") & (Kategorien = " + TestKategorien + ")"
Select (Namen = "Sandra Müller/Acme" : "Elke Meier/Acme" ) & (Zahlen = 1 : 2 : 3) & (Kategorien = "München" : "Berlin" : "Frankfurt"
Siehe auch