Autor Thema: Variablen/ @IF in Formula  (Gelesen 4287 mal)

Offline der busse

  • Frischling
  • *
  • Beiträge: 43
Variablen/ @IF in Formula
« am: 11.01.19 - 14:25:31 »
Moin,

ich stehe gerade etwas auf dem Schlauch.
Ich will eine neue Schaltfläche in der Symbolleiste erstellen und per Formula Telefonnummern auslesen.
Das funktioniert auch soweit. Wenn ich aber in einer @IF-Abfrage genau das gleiche mache, dann geht es nicht.

 Form := @GetField("Form");
ATel := @GetField("OfficePhoneNumber");
@Prompt([Ok];"ATEL"; ATel);
@If(
Form = "Person";
BTel := @GetField("OfficePhoneNumber") & @Prompt([Ok];"BTEL";BTel);
@Nothing)


ATel ist definiert, BTel nicht.
Warum ist das so? Ich finde gerade keinen Grund.

Hintergrund wegen dem @IF ist einfach, daß ich diese Schaltfläche in verschiedenen Datenbanken nutzen möchte.
Die Telefonnummern könnte man in ein paar DBs aus anderen Feldern ziehen. Insofern würde ich dann gerne die Variable für die Telefonnummer je nach DB befüllen und dann weitere Aktionen zum Startvorgang des Wählens ausführen.
Oder wie würdet Ihr so eine IF-Schleife bauen?

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Variablen/ @IF in Formula
« Antwort #1 am: 11.01.19 - 14:49:23 »
BTel := @If (Form = "Person"; OfficePhoneNumber; "")

Und bei verschiedenen Forms

BTel := @If (Form = "Form1"; Feld1; Form = "Form2"; Feld2; "")

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.274
  • Geschlecht: Männlich
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Re: Variablen/ @IF in Formula
« Antwort #3 am: 11.01.19 - 14:59:44 »
WENN du diesen Telefonnummer ein Feld zuweisen möchtest, dann fehlt dort noch ein stuckchen code.

mittels
FIELD Feldname := "Wert"
Oder innerhalb einen statement (z.B. @If )
@SetField( "Feldname", "Wert")

Sonnst macht den Formel brav zu ende, schreibt aber den ergebnisse im Nirvana, und das ist sicherlich nicht was du möchstest.
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline der busse

  • Frischling
  • *
  • Beiträge: 43
Re: Variablen/ @IF in Formula
« Antwort #4 am: 15.01.19 - 17:57:36 »
Danke für die Antworten.

@Peter Klett : Die Idee hat was, dann könnte ich DBs, Forms usw. definieren und am Ende ein @DbLookup machen.
Muss ich mal mit etwas mehr Zeit als kurz vor Feierabend ausprobieren. ;)

@jBubbleBoy : OK. Wenn ich das richtig verstehe, soll Set die Variable setzen und Do sie mir auflösen.
Ich habe im If-Teil auch mal statt @Do(BTel) nur ein BTel rein geschrieben und das ging auch.

Test := 1;
BTEL := "Test";
@Prompt([Ok];"BTEL";BTel);
@If(
Test = 1;
@Set("BTel"; "Changed") & @Prompt([Ok];"BTEL"; @Do(BTel));
@Nothing);
@Return("")


@ronka: Ich will eigentlich nichts speichern, nur Telefonnummern auslesen und dann per @Command([Execute]; program; parameter) aufrufen. Und damit ich nur ein Icon zum Wählen habe, möchte ich mit dem @IF verschiedene Felder aus verschiedenen betroffenen DBs ziehen. Theoretisch könnte man das auch in ein Temporäres Dokument schreiben, aber das wäre wohl etwas hässlich.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.274
  • Geschlecht: Männlich
Re: Variablen/ @IF in Formula
« Antwort #5 am: 16.01.19 - 08:16:54 »
nicht ganz ... denn diese Zeile:
Code
@Set("BTel"; "Changed") & @Prompt([Ok];"BTEL"; @Do(BTel));
sollte so aussehen - mit @do kann eine Liste von Ausdrücken ausgeführt werden:
Code
@Do( @Set("BTel"; "Changed");  @Prompt([Ok];"BTEL"; BTel) );
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Re: Variablen/ @IF in Formula
« Antwort #6 am: 16.01.19 - 22:37:37 »
Dann mal einen Frage anders herum...

Möchtest du das ICON aus der Smarticon liste ausführen ? Oder aus der Ansicht aktionen ?
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline der busse

  • Frischling
  • *
  • Beiträge: 43
Re: Variablen/ @IF in Formula
« Antwort #7 am: 17.01.19 - 22:49:37 »
Naja, in meinem Notes heißt die Leiste Symbolleiste (also Universal, Adressen usw.), die man immer sieht.
Wenn es in einer DB wäre, würde ich vermutlich LotusScript nutzen und weniger leichte Verständnis-Probleme haben. ;)
Gibt aber vermutlich ein paar nützliche Sachen, die man zur Anzeige und Kleinigkeiten auch in Formula machen kann.

Deswegen will ich ja auch die Sache mit dem @IF machen, um nur ein Icon zum Wählen für Names, Mail, eigene DBs usw. z.B. in der Universal-Symbolleiste zu haben.
Das funktioniert ja nun auch dank @Set und @Do. Ich frage mich zwar etwas, warum das @DBLookup irgendwie nur nach Namen und nicht nach Email-Adressen suchen mag, aber dank @NamesLookup geht das auch und ich muss keine Suche in weiteren DBs dazu programmieren, wenn es keinen Treffer gibt. Insofern erst mal alles super.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz