Autor Thema: Falscher Datentyp in einer Formel  (Gelesen 4375 mal)

Offline signo

  • Frischling
  • *
  • Beiträge: 48
  • Geschlecht: Männlich
    • erfurder.de
Falscher Datentyp in einer Formel
« am: 29.06.05 - 14:52:08 »
Hi,

ich habe ein kleines Problem. Ich hab mir einen Button gebaut, der mir wunderbar Daten aus einem/mehreren Feldern in ein Feld schreibt bzw. immer wieder anhängt. Das funktioniert auch wunderbar bis auf eine lästige Fehlermeldung beim Speichern.

Zitat
Falscher Datentyp für Operator oder @Funktion: Zahl erwartet

Ich hoffe die Formel ist nicht zu unübersichtlich, ich kann mir leider nicht erklären woher der Fehler kommt.

Die Felder in die geschrieben wird sind ein berechnetes Textfeld und ein bearbeitbares Textfeld.
Die Daten kommen aus Kombinationsfeldern und aus Optionsschaltflächen. Wenn ihr mehr Info`s benötigt, einfach sagen. Ich bin leider noch nicht Experte auf dem Gebiet =)

Hier noch die Formel

Zitat
Test:=@Text(E_Storno) + " " + @Text(@Now);


@If(E_Storno!="Nein";FIELD E_Storno_zusammen:=E_Storno_zusammen:Test;
FIELD E_Storno_zusammen:=E_Storno_zusammen:Test);


@If(E_Storno!="Nein";@SetField("E_Eintraege";E_Eintraege + @NewLine + "Erstellt von " + @Name([CN];@UserName) + " am " + @Text(@Now) + @NewLine + "Storno: " + E_Storno + " innerhalb der Widerrufsfrist: " + E_Stornofrist + " (" + E_Stornofrist_ja + E_Stornofrist_nein + ")" + @NewLine + "Gleichzeitige Kündigung des Hauptvertrages: " + E_Kuendigung + @NewLine + "----------------------------"+ @NewLine);
@SetField("E_Eintraege";E_Eintraege + @NewLine + "Erstellt von " + @Name([CN];@UserName) + " am " + @Text(@Now) + @NewLine + "Storno: " + E_Storno + " (" + E_Storno_nein + ") " + @NewLine + "Gleichzeitige Kündigung des Hauptvertrages: " + E_Kuendigung + @NewLine + "----------------------------"+ @NewLine));

Woran kann das liegen ? Und wie bekomm ich die Fehlermeldung weg :P Danke für die Hilfe und sollte ich etwas vergessen haben, dann einfach fragen...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Falscher Datentyp in einer Formel
« Antwort #1 am: 29.06.05 - 14:57:09 »
Du sagst, die Fehlermeldung kommt beim Speichern ? Dann hängt das nicht unmittelbar mit Deinem Buhtong zusammen, sonst würde die Meldung sofort beim Button-Click passieren.

Springt der Cursor bei der Fehlermeldung in ein Feld ? Wenn nein, gehe mal Deine berechnteen Felder Der Maske durch, die den Typ Zahl haben. Dort wird das Problem wohl eher liegen.

Bernhard

Offline signo

  • Frischling
  • *
  • Beiträge: 48
  • Geschlecht: Männlich
    • erfurder.de
Re: Falscher Datentyp in einer Formel
« Antwort #2 am: 29.06.05 - 15:03:52 »
Entschuldige bitte, ich hab mich vielleicht falsch ausgedrückt...

Die Fehlermeldung kommt wenn ich auf den Button drücke, also nicht beim Speichern des Dokumentes.


Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Falscher Datentyp in einer Formel
« Antwort #3 am: 29.06.05 - 15:07:36 »
Hallo

 >> @Text(E_Storno) <<

ist in E_Storno wirklich ein Zahlenwert ??

Dirk
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Falscher Datentyp in einer Formel
« Antwort #4 am: 29.06.05 - 15:12:25 »
Sicherlich nicht, denn

Code
@If(E_Storno!="Nein"

Und @Text ("von Text") ist überflüssig, schadet aber nicht.

Es müsste eines der Felder sein, die gesetzt werden. U.U. steht dort dann eine Eingabevalidierungsformel, in der der eigentliche Fehler steckt. An den Buhtong glaube ich noch nicht so richtig.

Bernhard

Offline signo

  • Frischling
  • *
  • Beiträge: 48
  • Geschlecht: Männlich
    • erfurder.de
Re: Falscher Datentyp in einer Formel
« Antwort #5 am: 30.06.05 - 07:21:25 »
Das natürlich schwierig den Fehler zu finden :(

Zitat
Test:=E_Storno + " " + @Today;

@If(E_Storno!="Nein";FIELD E_Storno_zusammen:=E_Storno_zusammen:Test;
FIELD E_Storno_zusammen:=E_Storno_zusammen:Test);

Selbst dann kommt der Fehler, E_Storno_zusammen ist ein bearbeitbares textfeld mit Mehrfachwerten. Und in E_Storno steht halt immer nur ja oder nein...

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Falscher Datentyp in einer Formel
« Antwort #6 am: 30.06.05 - 08:11:25 »
@Today ist ein Datum.
Test:=E_Storno + " " + @Text(@Today);
Gruß
Dirk

Offline signo

  • Frischling
  • *
  • Beiträge: 48
  • Geschlecht: Männlich
    • erfurder.de
Re: Falscher Datentyp in einer Formel
« Antwort #7 am: 30.06.05 - 09:28:02 »
Hatte ich vorher drin, selbe Fehlermeldung ! :( :(

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Falscher Datentyp in einer Formel
« Antwort #8 am: 30.06.05 - 09:33:49 »
Streich mal Feld für Feld Deinen Buttoncode zusammen, bis der Fehler nicht mehr kommt, um das involvierte Feld herauszufinden.

Bernhard

Offline signo

  • Frischling
  • *
  • Beiträge: 48
  • Geschlecht: Männlich
    • erfurder.de
Re: Falscher Datentyp in einer Formel
« Antwort #9 am: 30.06.05 - 14:00:45 »
Hab ich soweit gemacht, es bleiben nur noch 2 Felder übrig...

E_Storno = Optionsschalfläche, bearbeitbar (Ja/Nein)
E_Storno_zusammen = Text, bearbeitbar

Zitat
Test:=E_Storno + " " + @Text(@Today);
@If(E_Storno!="Nein";FIELD E_Storno_zusammen:=E_Storno_zusammen:Test;
FIELD E_Storno_zusammen:=E_Storno_zusammen:Test);

Was kann ich denn noch probieren ?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Falscher Datentyp in einer Formel
« Antwort #10 am: 30.06.05 - 14:08:09 »
Was passiert eigentlich, wenn Du bei im EditMode geöffneter Maske nicht den Button, sondern F9 drückst ? Das Der Fehler im Button-Code liegt, glaube ich jetzt noch weniger als vorher.

Bernhard

Offline signo

  • Frischling
  • *
  • Beiträge: 48
  • Geschlecht: Männlich
    • erfurder.de
Re: Falscher Datentyp in einer Formel
« Antwort #11 am: 30.06.05 - 15:21:28 »
Wenn ich das mache, passiert gar nix...

Kommt halt nur kurz die Sanduhr, halt kurze Aktualisierung :>

Ich weiss echt nicht mehr weiter :)

Offline max.power

  • Senior Mitglied
  • ****
  • Beiträge: 314
  • Geschlecht: Männlich
Re: Falscher Datentyp in einer Formel
« Antwort #12 am: 30.06.05 - 20:24:33 »
Hmm,

also wenn ich es richtig in Erinnerung habe (bzw. die Designerhilfe richtig verstehe ;)), dann sind Variablen-Zuweisungen in @if nicht erlaubt:

A True or False statement in @If cannot contain an assignment. The left side of an assignment can occur only at the beginning of an outermost statement in a formula. The following syntax is illegal:
@If(condition; variable := value1; variable := value2)

Somit denke ich, dass das auch für "FIELD blabla:=" gilt. (?)

Weiters:

Except for @commands, the formula language operates on back-end Notes objects. For example, a field named in a formula refers to the field as it exists in storage and the FIELD reserved word modifies a stored field. @Commands operate in the user interface; changes made there are not reflected in the back-end until a document is saved. You cannot intersperse back-end and user interface accesses of the same document and get correct results.

Keine Ahnung, ob das jetzt wirklich der Grund für den Fehler ist, aber spricht was dagagen, mal im @if statt den FIELD-Zuweisungen @Setfield() zu verwenden?

Nur mal so ne Idee....  :)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Falscher Datentyp in einer Formel
« Antwort #13 am: 30.06.05 - 20:49:46 »
Keine Ahnung, ob das jetzt wirklich der Grund für den Fehler ist

Ist vermutlich ein Volltreffer.

Gleiches gilt übrigens auch für Variablenzuordnung.
_Variable := "Text" klappt meines Wissens nicht in @If's. Hier muss dann mit @Set gearbeitet werden.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: Falscher Datentyp in einer Formel
« Antwort #14 am: 01.07.05 - 08:21:52 »
Ich glaube nicht, dass das ein Volltreffer ist. ERstens steht dieses Zuweisung nicht in der Bedingung, die einen booleschen Wert erwartet, und zweitens funktionierts das zwar nicht in Notes 5 aber in Notes 6
Am besten ist es wohl, du stellst die DB mal hier zur Verfügung. Vielleicht kann sich das dann ja ein nettes Forumsmitglied anschauen.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline signo

  • Frischling
  • *
  • Beiträge: 48
  • Geschlecht: Männlich
    • erfurder.de
Re: Falscher Datentyp in einer Formel
« Antwort #15 am: 01.07.05 - 09:34:10 »
Ok, ich hab Folgendes probiert...

Hab alles ganz in Ruhe getestet und dabei keinen Fehler gefunden. Anschließend hab ich alles wieder zusammengefügt und siehe da ES GEHT :D

Ich habe absolut keine Ahnung wieso bis ich festgestellt habe, dass die @IF Anweisung fehlt (hatte sie testweise entfernt)

Also würde ich auch sagen max.power hat wohl recht gehabt.

Habs nun so
Zitat
Test:=E_Storno + " " + @Text(@Today);
FIELD E_Storno_zusammen:=E_Storno_zusammen:Test;

Damit hat es dann funktioniert ! Danke an alle die sich die Birne angestrengt haben :D

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Falscher Datentyp in einer Formel
« Antwort #16 am: 01.07.05 - 15:13:52 »
Was wiederum die R6 Designerhilfe bestätigt:

Zitat von: signo
@If(E_Storno!="Nein";FIELD E_Storno_zusammen:=E_Storno_zusammen:Test;
FIELD E_Storno_zusammen:=E_Storno_zusammen:Test);

Zitat von: R6 Designerhilfe
The following syntax is illegal:
@If(condition; variable := value1; variable := value2)
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz