Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: chock am 16.07.03 - 15:29:48

Titel: Formel zum auslesen von Masken gesucht
Beitrag von: chock am 16.07.03 - 15:29:48
Hallo,

ich habe eine DB zusammengestellt, in der Schulungen für die Mitarbeiter eingetragen werden.
Ich möchte nun eine Ansicht Statistik anlegen.In dieser sollen die Namen der Mitarbeiter und das Datum der zuletzt besuchten Schulung angezeigt wird? Die Daten müssen aus verschiedenen Feldern einer Maske geholt werden.Wie kann so eine Formel aussehen?

Mfg
Christian


Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: koehlerbv am 16.07.03 - 16:02:55
Mal ganz simpel gesprochen:
Spalte 1: Feld mit Mitarbeitername, sortiert, kategorisiert
Spalte 2: Feld mit Schulungsdatum, absteigend sortiert
Spalte 3: Feld mit Bezeichnung der Schulung.

Oder wo liegt das Problem ?

Bernhard
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: chock am 16.07.03 - 16:15:21
ja genau so soll die Ansicht aussehen.
In der Maske Schulung sind jetzt die Felder Termin, Thema und Teilnehmer. Mit welcher Formel bekomme ich nun die Daten?
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: Doc Torte am 16.07.03 - 16:18:50
.... mich drückt die Erinnerung, das man da bei den Spalten das Feld angibt !!! - man kann dort auch eine Formel hinterlegen, man kann...
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: chock am 16.07.03 - 16:49:56
wie sieht ein Beispiel aus?
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: koehlerbv am 16.07.03 - 17:04:07
Na, ganz einfach:
Entweder den Spaltenwert aus einem Feld entnehmen (entsprechende Option im Designer für die Spalte auswählen und dann das Feld aus der Liste heraussuchen)
oder
Formel anklicken und den Feldnamen (nicht in Anführungszeichen) hinschreiben.

Bei den einfachen Anforderungen braucht man aber offensichtlich keine Formeln, die zum Beispiel aus "Vorname Nachname" "Nachname, Vorname" machen oder ähnliches.

HTH,
Bernhard
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: chock am 17.07.03 - 08:33:37
Ich bin in ein totaler Änfänger was den Designer betrifft.
Habe jetzt folgendes versucht.
Die Formel in der Spalte @Name([CN];teilnehmer) zeigt nichts an.
Wie kann ich der Formel sagen das Sie die Daten aus deer Maske Schulung holen soll?
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: klaussal am 17.07.03 - 08:40:59
... in dem spaltenwert den feldnamen aus der maske angeben.
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: chock am 17.07.03 - 09:34:31
Also das hat jetzt geklappt.
Wie könnte ich der Spalte jetzt sagen, das sie mir jeden Teilnehmer einzeln auflistet der in dem Feld steht?
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: koehlerbv am 17.07.03 - 09:39:30
Wenn das Feld "Teilnehmer" ein multi value field ist ("Mehrfachwerte zulassen"), dann einfach diese Spalte kategorisiert anzeigen lassen. Hierzu einfach mal in die Designer-Hilfe schauen ;-)

HTH,
Bernhard
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: chock am 17.07.03 - 10:58:22
Hat alles geklapt ist gar nicht so schwer man braucht nur die richtigen Tipps. Danke

Wie könnte ien Agent aussehen, der Felder im Dokument nach dem Datum prüft. Wenn sich das Datum ein hlbes Jahr nicht geändert hat soll er eine Mail schicken. Geht das über Formeln oder Script?
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: Doc Torte am 17.07.03 - 11:17:19
...ganz einfach wäre :

xcheckdate := @Adjust(@Today ; 0 ; 0 ; Abfragezeitraum ; 0 ; 0 ; 0);
@If(
@Date(Datumsfeld) < xcheckdate;
@@MailSend(Adressaten ; "" ; "" ; "Dokument seit xyz nicht mehr aktualisiert" ; "" ; "" ; [IncludeDoclink]);
"")

ist wirklich ein einfacher Agent - scheduled läuft der auch - klar "schmückt" man diesen auch normalerweise noch aus - Maskenabfrage oder ähnliches...
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: chock am 17.07.03 - 13:39:33
hab den Agent so eingesetzt:

xcheckdate := @Adjust(sch_dat ; 0 ; 6 ; 0; 0 ; 0 ; 0);
@If(
@Date(sch_dat) > xcheckdate;
@MailSend(schulung@xxxxx ; "" ; "" ; "Mitarbeiter seit einem halben Jahr nicht mehr auf Schulung" ; "" ; "" ; [IncludeDoclink]);
"");SELECT @All

Es kommt die Fehlermeldung "send to Field" fehlt.
Verstehe ich den Agent so richtig? das Datum des feldes wird um ein hlbes Jahr hochgesetzt, dann verglichen?
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: klaussal am 17.07.03 - 13:41:34
... jau, hast du,
aber in der maske scheint das feld namens "sendto" zu fehlen. hier sollte der empfänger stehen. sieh mal in der designer-hilfe nach   ;D
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: Till_21 am 17.07.03 - 13:43:23
@MailSend(schulung@xxxxx ; "" ; "" ; "Mitarbeiter seit einem halben Jahr nicht mehr auf Schulung" ; "" ; "" ; [IncludeDoclink]);
"");

tip:es gibt auch eine designerhilfe...
aber guck dir mal den ersten parameter an... -> mach einen string draus... ("schulung@xxx")

gruss
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: Doc Torte am 17.07.03 - 13:47:22
...es muß in der maske nicht unbedingt ein sendto-feld sein, es reicht ein namensfeld, in dem der Empfänger hinterlegt ist.

aber auch die DatumsAbfrage funktioniert so nicht ganz richtig, wiel so das Sch_dat nie größer als das checkdate sein wird !

also entweder den adjust mit -6 oder das ">" in "<" !

Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: koehlerbv am 17.07.03 - 14:17:18
Wie war das mit der Designerhilfe ;-)

Entweder, man gibt in @MailSend an, an wen man senden will (als String oder Liste oder per Referenz über ein Feld), oder "SendTo ist zwingend erforderlich".
Und die Korrektur mit der Zeitdifferenz ist auch nicht der Bringer: Wie man es auch dreht, xcheckdat ist immer 6 Monate weg von sch_dat. Das Adjust muß auf @Today ausgeführt werden !

xcheckdate := @Adjust(@Today ; 0 ; -6 ; 0; 0 ; 0 ; 0);
@If(
@Date(sch_dat) < xcheckdate; "blabla"; "alles roger")

HTH,
Bernhard
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: Doc Torte am 17.07.03 - 14:31:13
ja, richtig, *indemutverneig*

ich verwende das Feld ja auch als Referenz in @Mailsend.

und mit dem Datum hast Du auch recht ...aber das hatte ich in dem oberen Coding angegeben !
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: koehlerbv am 17.07.03 - 15:12:36
Nix Demut !!! Sofort wieder aufrichten !!! War doch nur für den newbee, damit er nicht reinfällt ...
Aber das mit dem Datenvergleich lies Dir nochmal durch - Du hast das erst richtig geschrieben. Im letzten Posting von chock stand dann aber 'ne Formel, die immer zu "ist grösser" führen würde ;-)

Ist "chock" denn nun weiter gekommen ?

Ciao,
Bernhard
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: chock am 17.07.03 - 16:11:43
Hi,

vielen vielen Dank für eure Geduld. Jeder Anfang ist schwer, trotz Designer Hilfe. Also hab jetzt die Formel so hinbekommen:
xcheckdate := @Adjust(sch_dat; 0 ; 6 ; 0; 0 ; 0 ;0 );
@if(
@Date(@TODAY) > xcheckdate;
@MailSend("xxxxx@xxxxx" ; "" ; "" ; "Teilnehmer seit einem halben Jahr nicht mehr auf Schulung" ; "" ; "" ; [IncludeDoclink]);
"");SELECT @All

Das Feld sch_dat wird geprüft und um 6 Monate erweitert. Dann die Abfrage schicke ein Mail wenn das heutige Datum größer ist als das Feld + 6 Monate. Oder?
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: koehlerbv am 17.07.03 - 16:40:38
Na, das sieht doch gut aus !

Und wenn Du jetzt weiter lernen willst, folgende Vorschläge:
1. Und wichtigstens - wenn eine Entwicklungs-DB funktioniert, mach ein Backup davon - dann kannst Du dort weitermachen, falls Du Dich verrannt hast.
2. Schick noch eine nette Botschaft mit:
Body := Teilnehmer + " hat seit einem halben Jahr keine Schulung mehr besucht. Bite überprüfen Sie ... laber laber ..." + @NewLine + "Für weitere Informationen folgen Sie bitte diesem Link:";
@MailSend("xxxxx@xxxxx" ; "" ; "" ; "Teilnehmer seit einem halben Jahr nicht mehr auf Schulung" ; Body ; "" ; [IncludeDoclink]);

3. Den/die Mail-Empfänger könntest Du in einem Profile-Dok Deiner Datenbank ablegen und dieses zum Zeitpunkt des Mailversands auslesen:
SendTo := @GetProfileField ("DatabaseSetup"; "SendTrainingWarningsTo");
@MailSend (SendTo; "" ; "" ; "Teilnehmer seit einem halben Jahr nicht mehr auf Schulung" ; Body ; "" ; [IncludeDoclink]);
Weitere Infos zu ProfilesDocs siehe in der Designer-Hilfe (Suchen nach "Profildokument" oder "profile")

HTH,
Bernhard
Titel: Re:Formel zum auslesen von Masken gesucht
Beitrag von: MartinG am 17.07.03 - 16:59:32
hi chock,

ich hoffe Du bist mir nicht böse aber wenn ich ehrlich bin finde ich deine Fragen schon ein klein wenig heftig. Mein Vorschlag wäre besuche eine gute Grundlagenschulung über den NotesDesigner oder kauf Dir wenigstens mal ein gutes Buch dazu und lese das mal durch. Wir helfen hier wirklich gerne auch Einsteigern und ich finde es bewundernswert und klasse wie koehlerbv etc alles so klasse erklärt. Dickes Lob an dieser Stelle an koehlervb!!!  

Ich merke halt das Dir hinten und vorne die Grundlagen fehlen und realistisch betrachtet kommst Du auch für Dich selber so nicht voran sondern musst bei jeder neuen Problemstellung aufs Forum zurückgreifen.

Ich hoffe Du nimmst mir das nicht übel    -    ist halt meine persönliche Meinung. Als Tip vielleicht noch: die Designerhilfe von Notes ist auch schon sehr genial -  wichtig ist das Du diese Volltextindizierst, dann kannst Du per Volltextsuche darin sehr gut suchen...