Autor Thema: schonwieder ich und die formeln...  (Gelesen 2042 mal)

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
schonwieder ich und die formeln...
« am: 01.09.03 - 12:10:24 »
hallo zusammen,

stehe mal wieder vor einem formelproblem:

ich möchte in einer maske in einem feld mit der eingabeumsatzung arbeiten.

es gibt die felder 1-4 und ein feld X.

wenn feld x =ja ist, werden die felder 1-4 ausgeblendet. wenn feld x =nein ist, muß in den feldern etwas eingegeben.

jetzt würd ich gerne in feld X mit der eingabeumsetzung arbeiten. Wenn im feld X das JA angewählt werden soll, dann sollen die felder 1-4 leer gemacht werden.

ich weiß das das mit @SetFeld("1";"") geht.
aber ich krieg das nicht in die @If formel eingebaut.
es müßte also in einer @if formel alle felder 1-4 auf   "leer" gesetzt werden.

kann mir jemand nen tip geben?

danke im voraus

Offline Doc Torte

  • Aktives Mitglied
  • ***
  • Beiträge: 178
  • Geschlecht: Männlich
  • ...promovierter Bäcker... ;-)
    • ...that's me
Re:schonwieder ich und die formeln...
« Antwort #1 am: 01.09.03 - 12:16:29 »
versuch es mal so : InputValidation

Field Field1 := Field1;
Field Field2 := Field2;
Field Field3 := Field3;
Field Field4 := Field4;
@If(
   Feldx = "ja";
   @Do(
      @SetField("Field1";"");
      @SetField("Field2";"");
      @SetField("Field3";"");
      @SetField("Field4";"")
      );
   ""
   )
Wer nicht ständig besser wird, hört bald auf gut zu sein !
Schritt für Schritt geht's immer vorwärts...

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re:schonwieder ich und die formeln...
« Antwort #2 am: 01.09.03 - 12:26:09 »
danke für den tip, aber da geht nicht.
wenn ich die formel angebe, kann ich das feld X nicht mehr anklicken. es ist eine optionsschaltfläche (radiobutton) und ist dann nicht mehr anklickbar.

aber irgendwie sowas hab ich mir auch schon gedacht, aber ich komme mit der syntax nicht klar

Offline Doc Torte

  • Aktives Mitglied
  • ***
  • Beiträge: 178
  • Geschlecht: Männlich
  • ...promovierter Bäcker... ;-)
    • ...that's me
Re:schonwieder ich und die formeln...
« Antwort #3 am: 01.09.03 - 12:35:09 »
Dann setze einzelne Formeln in die InputTranslation der Felder 1-4 und sagen bei dem Feldx - das sich das Doc nach Werteänderung neu berechnen soll, so sollte das funktionieren.

Wer nicht ständig besser wird, hört bald auf gut zu sein !
Schritt für Schritt geht's immer vorwärts...

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re:schonwieder ich und die formeln...
« Antwort #4 am: 01.09.03 - 12:40:50 »
sorry, ich verstehe nicht wie du das meinst

Offline Cookie

  • Junior Mitglied
  • **
  • Beiträge: 85
  • Geschlecht: Männlich
  • Ja
Re:schonwieder ich und die formeln...
« Antwort #5 am: 01.09.03 - 12:48:09 »
Hallo,
Du solltest in der Validierungsformel folgenden Zusatz verwenden:

Field x:=x;

Weil ansonsten das Feld den eingegebenen Wert nicht behält. (Die bisherige Vald.formel bezieht sich nur auf andere Felder nicht auf das eigene Feld)

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re:schonwieder ich und die formeln...
« Antwort #6 am: 01.09.03 - 14:08:08 »
hi,

hab ich gemacht. aber das funktioniert immer noch nicht

Glombi

  • Gast
Re:schonwieder ich und die formeln...
« Antwort #7 am: 01.09.03 - 14:17:11 »
Hi,
Du musst die EINGABEUMSETZUNG verwenden, nicht die Validierung.

Folgende Formel in der Eingabeumsetzung:
Field Field1 := @If(Feldx = "ja";"";Field1);
Field Field2 := @If(Feldx = "ja";"";Field2);
Field Field3 := @If(Feldx = "ja";"";Field3);
Field Field4 := @If(Feldx = "ja";"";Field4);
Feldx

Wichtig ist, dass Feldx als letzter Ausdruck in der Formel steht, denn das ist der Wert, der ins Feld zurückgeschrieben wird.

Andreas

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re:schonwieder ich und die formeln...
« Antwort #8 am: 01.09.03 - 14:45:10 »
@Glombi:

also ich habe deine formel 1:1 übernommen und nur die feldnamen auf die geändert die ich halt habe.

die formel wurde auch angenommen ohne probleme zu machen. ich kann auch jetzt im feld x wieder änderungen machen, aber die anderen 4 felder werden nicht gelöscht! die werte bleiben stur drin stehen.

also langsam blick ich da gar nicht mehr durch ???

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re:schonwieder ich und die formeln...
« Antwort #9 am: 01.09.03 - 14:45:46 »
P.S. ich habs in die eingabeumsetzung eingetragen!!!

Glombi

  • Gast
Re:schonwieder ich und die formeln...
« Antwort #10 am: 01.09.03 - 14:54:21 »
Sorry, gerade habe ich in der KBase gesehen, dass es so nicht geht:

@SetField Does Not Work as Expected in Field Formulas

Problem:

Notes database designers/users may observe unexpected results when using the @SetField function in a Field formula:

-  An Input Translation formula uses @SetField to update another field on the same document, but the field does not get updated, either on a document save or refresh.

-  A Computed formula which uses @SetField can cause other fields to be removed from the document.

Solution:

The fact that @SetField does not work in Field formulas was reported to Lotus Quality Engineering (spr #RMAS3QNKFL), and Notes was deemed working as designed.  The use of the @SetField function within a Field formula can have unexpected results if it is used incorrectly.

A request has been submitted to Lotus Quality Engineering (spr #MGAN4N7NVW), asking for additional information to be provided within the Notes documentation/help concerning the programming practices to use and to avoid.

When using the @SetField Field formulas the database designer must be sure to use the function to set fields which are below or to the right of the current field.  Also, whenever possible the database designer should simply use the FIELD statement itself to set a field.

For example, rather than:

FIELD FieldC := FieldC;
@SetField(FieldC; @Now);

one should use:

FIELD FieldC := @Now;


Additional issues to be aware of:

Additional problems can occur if the same Field formula that contains the @SetField also contains a conditional statement (such as @If) based on fields above (or to the left of) the current field.  Fields may be deleted from the document as a result.  The workaround is to perform the calculation in the form's QuerySave event.

For example:

Given a form with fields:  FieldA, FieldB, FieldC, and FieldD, in that order down the form.
FieldA is a Computed field and contains the formula below:

@If(FieldB=FieldA;@Return(fieldA);"");
FIELD FieldC := FieldC;
@SetField(FieldC; @Now);"";

The problem with the above formula is that FieldB is referred to within the @If function, even though FieldB is below FieldA in the form.

Supporting Information:

The R4.5 and R4.6 documentation indicates in the "Where does this @Function work?" table that @SetField works in field formulas.  The actual description indicates that it does not.  This documentation error has been reported to Lotus Quality Engineering (spr #RMAS3QNL4B).

Glombi

  • Gast
Re:schonwieder ich und die formeln...
« Antwort #11 am: 01.09.03 - 14:56:28 »
Du musst also folgendes machen:
Für die Felder Field1, Field2,...
folgende Eingabeumsetzungsformel:

@If(Feldx = "ja";"";Field1)

die anderen entsprechend...

Im Feldx dann KEINE Formel.

Ich hab es getestet und es geht!

Andreas

Offline Silent_Bob

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 620
  • Geschlecht: Männlich
    • Insta
Re:schonwieder ich und die formeln...
« Antwort #12 am: 01.09.03 - 16:12:50 »
hi,
alles klar. jetzt geht es. ich verstehe zwar nicht ganz, warum ich ich das alles nicht in EINER formel in feld x einbauen konnte, aber ich bin erstmal froh, daß es jetzt klappt.

hab vielen dank

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz