Autor Thema: Allgem. Verständnisproblem mit der Formelsprache  (Gelesen 2803 mal)

Offline JoJo

  • Senior Mitglied
  • ****
  • Beiträge: 486
  • Geschlecht: Männlich
  • Gibt es Leben ausserhalb des PCs?
Kann mir bitte jemand sagen warum man den Wert eines Feldes mit

@text(@if(...))

schon, aber mit

@if(...); @text(...)

nicht berechnen kann?
lg, JoJo

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Allgem. Verständnisproblem mit der Formelsprac
« Antwort #1 am: 25.09.02 - 13:16:51 »
weil im ersten Fall zunächst innerhalb der @If Anweisung gerechnet wird und dann das Ergebnis in TEXT umgewandelt wird und

im zweiten Fall erst alles in Text umgewandelt wird und dann versucht wird zu rechnen.

und von z.B. "10" kann ich nicht "5" abziehen, das geht nur bei 10 - 5

hoffe, das meintest du

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline JoJo

  • Senior Mitglied
  • ****
  • Beiträge: 486
  • Geschlecht: Männlich
  • Gibt es Leben ausserhalb des PCs?
Re: Allgem. Verständnisproblem mit der Formelsprac
« Antwort #2 am: 25.09.02 - 14:30:32 »
Danke für deine Antwort, Eknori. Leider hab' ich anscheinend missverständlich formuliert. Meine Frage zielt nicht auf die Reihenfolge der Abarbeitung der Anweisungen ab. Die Reihenfolge sollte ja bei meinen beiden Beispielen die selbe sein.

Viel mehr würd' ich gern' wissen, warum die verschachtelte SCHREIBWEISE funktioniert, nicht aber die Schreibweise

1. Anweisung
STRICHPUNKT
2. Anweisung

die ja eigentlich genau zum selben Ergebnis führen müsste. Nur das hier die abzuarbeitenden Routinen eben hintereinander (und nicht verschachtelt) angeschrieben sind.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
lg, JoJo

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: Allgem. Verständnisproblem mit der Formelsprac
« Antwort #3 am: 25.09.02 - 14:45:26 »
hm..kratz..verstehs auch nicht ganz, was Du genau meinst...

etwa daß das nicht geht=

@if(
a="b";"nix gut";
a="c";"nix gut";
a="d";"nix gut";
"alles guT"
)
doch, das geht!

Das geht auf jeden Fall ebenso wie
@if(a="b";"nix gut";@if(a="c";"nix gut";@if(a="d";"nix gut";"alles gut"))))


oder wie meinen?
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline harkpabst_meliantrop

  • Senior Mitglied
  • ****
  • Beiträge: 463
  • Geschlecht: Männlich
  • I love!
    • Heute schon gelebt?
Re: Allgem. Verständnisproblem mit der Formelsprac
« Antwort #4 am: 25.09.02 - 14:55:47 »
Zitat

Viel mehr würd' ich gern' wissen, warum die verschachtelte SCHREIBWEISE funktioniert, nicht aber die Schreibweise

1. Anweisung
STRICHPUNKT
2. Anweisung

Ich glaube, ich hab dein Problem verstanden. Die Schreibweise funktioniert schon, sie tut nur nicht das, was du erwartest. ;)

Jede Formel muss einen Hauptausdruck haben, das "Ergebnis" sozusagen. In deinem Fall wird Anweisung1 zwar ausgeführt, aber das Ergebnis wird durch Anweisung 2 überschrieben.  Wenn du das Ergebnis von Anweisung1 im weiteren Verlauf verwenden möchtest, dann musst du entweder die Anweisungen Schachteln, oder den Rückgabewert von Anweisung1 einer temporären Variablen zuweisen, auf die du dann Anweisung2 loslassen kannst.

Das Ergebnis eine Formel ist also immer das Ergebnis der allerletzen Anweisung, die darin steht.

War's das?


« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline JoJo

  • Senior Mitglied
  • ****
  • Beiträge: 486
  • Geschlecht: Männlich
  • Gibt es Leben ausserhalb des PCs?
Re: Allgem. Verständnisproblem mit der Formelsprac
« Antwort #5 am: 25.09.02 - 15:50:21 »
Zitat
Das Ergebnis eine Formel ist also immer das Ergebnis der allerletzen Anweisung, die darin steht.

War's das?


Das war's!    :D
Glaub' ich halt - aber wenn du es sagst...     ;D

Dank an alle, die sich bemühten meine Frage zu beantworten!

War anscheinend wirklich missverständlich formuliert, darum versuch' ich's anhand des folgenden Beispiels zur Errechnung des Wertes von FELDb noch mal (quasi für's Archiv):

@Text(@If(FELDa="";47;11)) --> funktioniert

@If(FELDa="";47;11);
@Text(FELDb)                         --> funktioniert nicht


Bzw. ganz konkret hab' ich folgendes vergeblich versucht:

@If(Soll1=""|Soll2=""|Soll3=""; ""; Soll1+Soll2+Soll3);
@If(Summe_Soll != "" & Summe_Soll < 100000; Summe_Soll * 10; Summe_Soll)
lg, JoJo

Offline harkpabst_meliantrop

  • Senior Mitglied
  • ****
  • Beiträge: 463
  • Geschlecht: Männlich
  • I love!
    • Heute schon gelebt?
Re: Allgem. Verständnisproblem mit der Formelsprac
« Antwort #6 am: 25.09.02 - 16:12:08 »
Und noch der Vollständigkeit halber: So ginge es eben auch:
Code

_temp := @If(Soll1=""|Soll2=""|Soll3=""; ""; Soll1+Soll2+Soll3);
@If(_temp != "" & _temp < 100000; _temp * 10; _temp)


(Auch wenn ich die Formel lustig finde. Wenn der Jahresumsatz kleiner als 100000 ist, wird einfach mit 10 multipliziert, damit es besser aussieht??  ) :D

Temporäre Variablen mit einem Unterstrich beginnen zu lassen ist keine ganz schlechte Konvention für längere Formeln, damit man sie von Feldnamen unterscheiden kann. Muss man aber nicht machen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz