Autor Thema: Select über @IF-Formel  (Gelesen 2218 mal)

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Select über @IF-Formel
« am: 23.07.08 - 10:53:00 »
Hallo,

ich durchsuche schon seit 3 Stunden das Forum und komme nicht weiter.
Kann mir jemand bitte mal weiterhelfen......

Ich möchte über eine @if-Formel und unterschiedlichen Bedingungen
gerne eine Subject Feld entsprechend füllen. Hierzu habe ich folgende
@if-Formel....:
Code
Subject_sel:=@If(
Email_Message= 1 & @Text(language)="deutsch" ; Subject;
Email_Message= 1 & @Text(language)="englisch" ;Subject_GB;
Email_Message= 1 & @Text(language)="französisch";Subject_FR;
Doc_Freigabe= 0 & @Contains(!@Text(dcreaders);"Service");"Neuer Eintrag Serviceinfobase evtl. mit Rechteproblem";
Doc_Freigabe= 1;"Neues Dokument ohne Freigabe in Servicedatenbank";
"");

Ich bekomme hier immer nur eine leeres Feld angezeigt.
Ich mache hier bestimmt nur einen kleinen Denkfehler , aber ich finde
ihn nicht......!

Danke Euch schon mal für eure Hilfe.

Gruss Jörg

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Select über @IF-Formel
« Antwort #1 am: 23.07.08 - 11:04:05 »
Wo hast du denn die Formel eingetragen? Ist das der gesamte Code?

Du weist nämlich den Rückgabewert der IF-Formel der Variable Subject_sel.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Select über @IF-Formel
« Antwort #2 am: 23.07.08 - 11:10:12 »
Hi ,

hier kommt der ganze Code, den ich zur Definierung der Email-Parameter
verwende....
Code
REM {Send mail if the doc is saved};

Subject := "Neues oder überarbeitetes Dokument in Service-Datenbank";
Remark := "Ein Dokument wurde neu in die Datenbank eingestellt oder wurde überarbeitet.";
Remark_neu := "Ein Dokument wurde neu in die Datenbank eingestellt.";
Remark_1 := "Das Dokument  mit der  " ;
Remark_2 := "    kann in der ServiceInfoBase" + @Char(13) + " über den nachfolgenden Link ausgewählt werden."  + @Char(13) +  "  ->Link :   " ;
Remark_3 := "Beschreibung :  " + @Text(titel);

Subject_GB := "New or over worked document in the Service-Info-Base";
Remark_GB := "A document in the database are new insert or overworked .";
Remark_GBneu := "A document are insert new in the database.";
Remark_GB1 := "The dokument with the  " ;
Remark_GB2 := " can be found in the" + @Char(13) + " database over the followed link."  + @Char(13) +  "  ->Link :   " ;
Remark_GB3 := "Discription :  " + @Text(titel);

Subject_FR := "Document nouveau ou modifié dans la base de données";
Remark_FR := "Un document a été à nouveau enregistré ou modifié dans la base de données.";
Remark_FRneu := "Un document a été à nouveau enregistré dans la base de données.";
Remark_FR1 := "Le document avec le";
Remark_FR2 := "dans la base de données  Service Info Base" + @Char(13) + " peut être séléctionner avec le lien."  + @Char(13) +  "  ->Lien :   " ;
Remark_FR3 := "Déscription :  " + @Text(titel);

Message_sel:=
@If(
Email_Message= 1 & @Text(language)="deutsch" ; Remark_1 + Remark_3 + Remark_2;
Email_Message= 1 & @Text(language)="englisch" ;Remark_GB1 + Remark_GB3 + Remark_GB2;
Email_Message= 1 & @Text(language)="französisch";Remark_FR1 + Remark_FR3 + Remark_FR2;
Doc_Freigabe= 0 & @Contains(!@Text(dcreaders);"WKT-Service":"Weiss-Service");"Ein Dokument wurde evtl. ohne eine richitge Vergabe der LeseRechte eingestellt" + Remark_3;
Doc_Freigabe= 1;Remark_neu + Remark_3 + Remark_2;
"");

Subject_sel:=@If(
Email_Message= 1 & @Text(language)="deutsch" ; Subject;
Email_Message= 1 & @Text(language)="englisch" ;Subject_GB;
Email_Message= 1 & @Text(language)="französisch";Subject_FR;
Doc_Freigabe= 0 & @Contains(!@Text(dcreaders);"Service");"Neuer Eintrag Serviceinfobase evtl. mit Rechteproblem";
Doc_Freigabe= 1;"Neues Dokument ohne Freigabe in Servicedatenbank";
"");

Remark_sel:=@If(
Email_Message= 1 & @Text(language)="deutsch" ; Remark;
Email_Message= 1 & @Text(language)="englisch" ;Remark_GB;
Email_Message= 1 & @Text(language)="französisch";Remark_FR;
Doc_Freigabe= 0 & @Contains(!@Text(dcreaders);"Service");"Neuer Eintrag Serviceinfobase evtl. mit Rechteproblem";
Doc_Freigabe= 1;"Neues Dokument ohne Freigabe in Servicedatenbank";
"");

Receiver_Sel:=@If(
Email_Message= 1;@Text(Emailempfaenger);
Doc_Freigabe= 1 & @Contains(!@DbTitle;"WKT");"Weiss-ServiceAdmin";
Doc_Freigabe= 1 & @Contains(@DbTitle;"WKT");"WKT-ServiceAdmin";
Doc_Freigabe= 0 & @Contains(!@Text(dcreaders);"Service") & @Contains(!@DbTitle;"WKT");"Weiss-ServiceAdmin";
Doc_Freigabe= 0 & @Contains(!@Text(dcreaders);"Service") & @Contains(@DbTitle;"WKT");"WKT-ServiceAdmin";
"joerg gierth");

@MailSend(Receiver_Sel;"";""; Subject_sel; Remark_sel ;Message_sel;[IncludeDoclink]:[Sign])

Gruss Jörg

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Select über @IF-Formel
« Antwort #3 am: 23.07.08 - 11:19:35 »
Auf den ersten Blick sieht die Formel mal soweit richtig aus.

Prüfe die @If - Formel ob keine Schreibfehler drin sind und versuche sie mal schrittweise zu testen.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Select über @IF-Formel
« Antwort #4 am: 23.07.08 - 11:35:30 »
Ich würd die Nachrichten-Texte in ein Profildokument auslagern.
Nur so als Hinweis. Das dort verwendete Englisch weicht an einigen Stellen schon deutlich vom Standard ab.


@Freunde der Englischen Sprache:

Bin auch nicht perfekt, aber als Vorschlag:
New or modified document have been added to the Service-Info-Base.
"A document has been created or modified in this database".
The following link opens the document with the
Description

Andere Vorschläge  ??? 
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline thomson666

  • Senior Mitglied
  • ****
  • Beiträge: 285
  • Geschlecht: Männlich
  • niemand hats leicht, aber leicht hats oan...
Re: Select über @IF-Formel
« Antwort #5 am: 23.07.08 - 12:11:29 »
Lass dir mal nach jedem Codeabschnitt mit @Prompt die Werte ausgeben und vorallem dann vor dem Mailsend, dann siehst sicher leichter wo es hackt.
Kann es sein das es sich beim Feld Email_Message um ein Text und nicht um ein Zahlenfeld handelt?
Mir scheint als ob du einen Wert in den IF Bedingunge abfragst der nicht so ist wie glaubst.

Darum stimmen die Bedingungen nicht und das Subject bleibt leer.

Dazu solltest du auch ein @Prompt für language und Email_Message machen dann siehst gleich ob die Werte so stimmen.

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Select über @IF-Formel
« Antwort #6 am: 23.07.08 - 13:38:30 »
Danke Euch....

der Fehler ist gefunden. hier waren 2 Punkte die Ursache:

- Felddefinition
Telweise waren die Felder als Textfelder angelegt

- Contains
Fehler in dem Aufbau der Abfrage

Hier nun der complette Code:
Code
Subject := "Neues oder überarbeitetes Dokument in Service-Datenbank";
Remark := "Ein Dokument wurde neu in die Datenbank eingestellt oder wurde überarbeitet."+ @Char(13)  + "";
Remark_neu := "Ein Dokument wurde neu in die Datenbank eingestellt."  + @Char(13)  + "" ;
Remark_1 := "Das Dokument  mit der  " ;
Remark_2 := " Es  kann in der ServiceInfoBase" + @Char(13) + " über den nachfolgenden Link ausgewählt werden." + @Char(13) + "  ->Link :   " ;
Remark_3 := "Beschreibung :  " + @Text(titel);

Subject_GB := "New or over worked document in the Service-Info-Base";
Remark_GB := "A document in the database are new insert or overworked .";
Remark_GBneu := "A document are insert new in the database.";
Remark_GB1 := "The dokument with the  " ;
Remark_GB2 := " can be found in the" + @Char(13) + " database over the followed link."  + @Char(13) +  "  ->Link :   " ;
Remark_GB3 := "Discription :  " + @Text(titel);

Subject_FR := "Document nouveau ou modifié dans la base de données";
Remark_FR := "Un document a été à nouveau enregistré ou modifié dans la base de données.";
Remark_FRneu := "Un document a été à nouveau enregistré dans la base de données.";
Remark_FR1 := "Le document avec le";
Remark_FR2 := "  dans la base de données  Service Info Base" + @Char(13) + " peut être séléctionner avec le lien."  + @Char(13) +  "  ->Lien :   " ;
Remark_FR3 := "Déscription :  " + @Text(titel);

Message_sel:=@If(
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="deutsch";Remark_1 + Remark_3 + Remark_2;
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="englisch";Remark_GB1 + Remark_GB3 + Remark_GB2;
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="französisch";Remark_FR1 + Remark_FR3 + Remark_FR2;
@Text(Doc_Freigabe)= "0"&(!@Contains(dcreaders;"Service"));"Ein Dokument wurde evtl. ohne eine richitge Vergabe der LeseRechte eingestellt"  + @Char(13) +  "  ->Link :   " + Remark_3;
@Text(Doc_Freigabe)= "1";Remark_neu + Remark_3 + Remark_2;
"Error");

Subject_sel:=@If(
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="deutsch"; Subject;
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="englisch";Subject_GB;
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="französisch";Subject_FR;
@Text(Doc_Freigabe)= "0"&(!@Contains(dcreaders;"Service"));"Neuer Eintrag Serviceinfobase evtl. mit Rechteproblem";
@Text(Doc_Freigabe)= "1";"Neues Dokument ohne Freigabe in Servicedatenbank";
"Error");

Remark_sel:=@If(
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="deutsch"; Remark;
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="englisch";Remark_GB;
@Text(Email_Message)= "1"&@Text(MainDoc_Language)="französisch";Remark_FR;
@Text(Doc_Freigabe)= "0"&(!@Contains(dcreaders;"Service"));"Neuer Eintrag Serviceinfobase evtl. mit Rechteproblem";
@Text(Doc_Freigabe)= "1";"Neues Dokument ohne Freigabe in Servicedatenbank";
"Error");

Receiver_Sel:=@If(
@Text(Email_Message)= "1";@Text(Emailempfaenger);
@Text(Doc_Freigabe)= "1"&(!@Contains(@DbTitle;"WKT"));"Weiss-ServiceAdmin";
@Text(Doc_Freigabe)= "1"&(@Contains(@DbTitle;"WKT"));"WKT-ServiceAdmin";
@Text(Doc_Freigabe)= "0"&(!@Contains(dcreaders;"Service"))&(@Contains(@DbTitle;"WKT"));"WKT-ServiceAdmin";
@Text(Doc_Freigabe)= "0"&(!@Contains(dcreaders;"Service"))&(!@Contains(@DbTitle;"WKT"));"Weiss-ServiceAdmin";
"Error");

@If(
Receiver_Sel="Error";"";
Remark_sel="Error";"";
Subject_sel="Error";"";
Message_sel="Error";"";
@MailSend(Receiver_Sel;"";""; Subject_sel; Remark_sel ;Message_sel;[IncludeDoclink]:[Sign]))

So und nun mache ich mich an die Texte selber.....
Herzlichen Dank für die Antworten denn die waren nur mal so schnell getippt.

Gruss Jörg

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz