Autor Thema: Feld vom Typ Formel  (Gelesen 2673 mal)

Offline pippo

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 580
  • I love YaBB 1G - SP1!
Feld vom Typ Formel
« am: 04.09.03 - 08:52:21 »
Hallo,

kann mir bitte jemand erklären wie dieses Ding funktioniert?

Formel - Felder als Literale und Berechnet

Grüße, Pippo

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Feld vom Typ Formel
« Antwort #1 am: 04.09.03 - 09:06:14 »
Lotus Notes Help sagt:

Formelfelder werden verwendet, um eine Abonnementliste zu füllen, die mit der Datenbank "Headlines.nsf" (Schlagzeilen) zusammenarbeitet. Die Schlagzeilendatenbank wird als Homepage eines Notes Client verwendet. Diese Datenbank enthält die Funktion "Abonnements". Jeder Datenbankentwickler hat die Möglichkeit, eine Datenbank für Abonnements zu aktivieren. Wenn ein Benutzer eine Datenbank abonniert (indem er "Erstellen - Abonnement" wählt), wird eine Server-Task ausgelöst, die den Benutzer benachrichtigt, wenn ein für ihn interessantes Dokument in dieser Datenbank gespeichert wird. Die Kriterien, nach denen der Server sucht, sind in einem Formelfeld auf der Abonnementmaske enthalten. Obwohl Benutzer die Abonnementmaske in der Datenbank ausfüllen, die sie abonnieren möchten, werden die Abonnementdokumente in den Schlagzeilendatenbanken (die Vorgabe ist headlines.nsf) auf den lokalen Clients der Benutzer gespeichert.
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 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 $Subcription-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 Formelfelds, für das die Option "Felder als Literale" ausgewählt ist:
Select (Namen = TestNamen) & (Zahlen = TestNummern) & (Kategorien = TestKategorien)& (Daten = BspDaten)

Feld   Wert
TestNamen   "CN=Sandra Müller/O=Acme" : "CN=Elke Meier/O=Acme"
TestNummern   1: 2: 3
TestKategorien   "München" : "Berlin" : "Frankfurt"
   
BspDaten   [26.3.97]:[10.08.98]:[15.3.99]
Das Formelfeld wird somit folgendermaßen ausgefüllt:
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 Formelberechung eine ungültige Formel.
Ein berechnetes Formelfeld enthält beispielsweise folgende Formel:
 TestNamen := "\"" + @Implode( TestNamen; "\" : \"") + "\"";
 TestNummern := @Implode( @Text(TestNummern); " : ");
 TestKategorien := "\"" + @Implode( TestKategorien; "\" : \"") + "\"";
 "Select (Namen = " + TestNamen + ") & (Zahlen = " + TestNummern + ") & (Kategorien = " + TestKategorien + ")"

(Zu finden? Indexansicht in Help, "Formelfelder")
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

klaussal

  • Gast
Re:Feld vom Typ Formel
« Antwort #2 am: 04.09.03 - 09:07:11 »
... aus der hilfe:

Formelfelder werden verwendet, um eine Abonnementliste zu füllen, die mit der Datenbank "Headlines.nsf" (Schlagzeilen) zusammenarbeitet. Die Schlagzeilendatenbank kann vom Fenster "Lesezeichen" des Notes Client geöffnet und als Homepage eines Notes Client verwendet werden. Diese Datenbank enthält die Funktion "Abonnements". Jeder Datenbankentwickler hat die Möglichkeit, eine Abonnement-Maske in eine Datenbank aufzunehmen. Wenn ein Benutzer eine Datenbank "abonniert" (durch Ausfüllen und Speichern der Abonnementmaske in der Datenbank), wird eine Server-Task ausgelöst, die den Benutzer benachrichtigt, wenn ein für ihn interessantes Dokument in dieser Datenbank gespeichert wird. Die Kriterien, nach denen der Server sucht, sind in einem Formelfeld auf der Abonnementmaske enthalten. Obwohl Benutzer die Abonnementmaske in der Datenbank ausfüllen, die sie abonnieren möchten, werden die Abonnement-Dokumente in den Schlagzeilendatenbanken auf den lokalen Clients der Benutzer gespeichert.
Sie können die vorgegebene Abonnementmaske verwenden, die sich in der Datenbank "Headlinese.ntf" befindet. Um die vorgegebene Maske zu verwenden, kopieren Sie sie, und fügen Sie sie in Ihre Datenbank ein. Die Abonnementmaske $Subscription befindet sich in der Datenbank "Headlines.nsf" oder "Headlines.ntf", die im Designer enthalten ist. Sie können die Abonnementmaske unverändert übernehmen oder an Ihre Anforderungen anpassen. Wenn Sie sie anpassen, müssen Sie auch das Formelfeld in Betracht ziehen. Das Formelfeld auf der $Subcription-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 muß eine Formel 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, daß 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 Formelfelds, für das die Option "Felder als Literale" ausgewählt ist:
Select (Namen = TestNamen) & (Zahlen = TestNummern) & (Kategorien = TestKategorien)& (Daten = BspDaten)

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Feld vom Typ Formel
« Antwort #3 am: 04.09.03 - 09:07:40 »
die Lotus Notes Hilfe sagt, daß ...
die Lotus Notes Hilfe sagt, daß ...
die Lotus Notes Hilfe sagt, daß ...
die Lotus Notes Hilfe sagt, daß ...

 ;D ;D ;D
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

klaussal

  • Gast
Re:Feld vom Typ Formel
« Antwort #4 am: 04.09.03 - 09:08:05 »
... da war doch wieder jemand schneller ... ;D

Offline pippo

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 580
  • I love YaBB 1G - SP1!
Re:Feld vom Typ Formel
« Antwort #5 am: 04.09.03 - 09:16:31 »
Hallo,

erstmals danke für die schnelle Hilfe,

kannst Du mir ein praktisches Beispiel sagen, wo die verwendung Sinn hat

Grüße, Pippo

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Feld vom Typ Formel
« Antwort #6 am: 04.09.03 - 09:44:02 »
die Antwort steht oben :Wenn ein Benutzer eine Datenbank "abonniert" (durch Ausfüllen und Speichern der Abonnementmaske in der Datenbank), wird eine Server-Task ausgelöst, die den Benutzer benachrichtigt, wenn ein für ihn interessantes Dokument in dieser Datenbank gespeichert wird. Die Kriterien, nach denen der Server sucht, sind in einem Formelfeld auf der Abonnementmaske enthalten....

einfacheres Beispiel, wenn es unklar ist:
Userin sagt sich: "ich bin geil auf "Sahnekuchen". Überall in den 2000 Notes Datenbanken, wo ein Dokument mit dem Begriff Sahnekuchen eingestellt wir, möchte ich eine Info haben. "

Damit das überhaupt klappt, muß der Entwickler Formelfelder in den zu überwachenden Forms, auf den die Docs basieren, eingebaut haben. Also ein stinknormaler Push Ansatz. Nur, ich kenne keinen, der das jemals verwendet hat.
« Letzte Änderung: 04.09.03 - 09:44:41 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline pippo

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 580
  • I love YaBB 1G - SP1!
Re:Feld vom Typ Formel
« Antwort #7 am: 04.09.03 - 10:46:02 »
Hallo,

man kann es auf 2 Arten nützen. Mich interessiert Typ 2.

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 Formelfelds, für das die Option "Felder als Literale" ausgewählt ist:
Select (Namen = TestNamen) & (Zahlen = TestNummern) & (Kategorien = TestKategorien)& (Daten = BspDaten)

Feld   Wert
TestNamen   "CN=Sandra Müller/O=Acme" : "CN=Elke Meier/O=Acme"
TestNummern   1: 2: 3
TestKategorien   "München" : "Berlin" : "Frankfurt"
   
BspDaten   [26.3.97]:[10.08.98]:[15.3.99]
Das Formelfeld wird somit folgendermaßen ausgefüllt:
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 Formelberechung eine ungültige Formel.
Ein berechnetes Formelfeld enthält beispielsweise folgende Formel:
TestNamen := "\"" + @Implode( TestNamen; "\" : \"") + "\"";
TestNummern := @Implode( @Text(TestNummern); " : ");
TestKategorien := "\"" + @Implode( TestKategorien; "\" : \"") + "\"";
"Select (Namen = " + TestNamen + ") & (Zahlen = " + TestNummern + ") & (Kategorien = " + TestKategorien + ")"


Grüße, Pippo

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz