summe aus unterschiedlichen zeilen ???
Ninox Profile

Hallo,

Ich kenne leider die Datenstruktur nicht, aber wenn man die Formel betrachtet, dann sollte es so funktionieren:

---

sum(Leistungserfassung[Projketpreise.Preise.Auswahl = 1].Netto)

---

 

LEo

Ninox Profile

Hallo Leonid,

danke für die schnelle Antwort. Leider bekomme ich so gar kein Ergebnis. Das Programm meldet mir das es so keine Spalte finden kann.

Meine Datenstruktur ist etwas kompliziert geworden. Anbei das Bild:

Bildschirmfoto 2018-11-11 um 11.02.05

Wahrscheinlich liegt es an dieser Struktur. Ich bin mir nur sehr unschlüssig, wie ich diese Verändern kann, ohne die Zuordnungen zwischen den Tabellen zu verlieren. Ich habe leider die ganze Zeit nur ohne Tigger gearbeitet. Das macht eine neue Zuordnung aus meiner Leien Sicht schwierig.

Hast du für mich einen Tipp?

Danke 

Gruss Martin

Ninox Profile

Hallo, der Wert von Auswahlfeldern wird standardmäßig als Textwert zurückgegeben. Ich würde mal versuchen, entweder die 1 durch den String "Leistung" zu ersetzen, oder den Rückgabewert des Feldes 'Auswahl' mit number() auf eine Zahl zu ändern.

Ninox Profile

Ach so, weil ich da gerade dieses "Projketpreise" sehe, das vermutlich "Projektpreise" heißen soll: Man kann Tabellen- und Feldnamen problemlos im Nachhinein ändern. Ninox passt automatisch alle Nennungen in Formeln und Scripten an.

Ninox Profile

Hallo Martin,

in deinem ersten Bild zeigt die letzte Spalte der Auswahl. Ist es ein berechnetes Feld? Kannst du die Formel von dem Feld zeigen?

LEo

Ninox Profile

Hallo Leonid,

das Feld Netto ist berechnet : Menge * Projketpreise.Preise.'Preis / Einheit' * Einzelpreis

Die Menge ist ein Feld in der Tabelle "Leistungserfassung"

Der Preis kommt aus der Tabelle "Preise" aus dem Feld "Preis/Einheit"

Das Feld "Einzelpreis" ist ein Feld aus der Tabelle "Leistungserfassung" und dient zur Angabe von Pauschalpreisen. Im Normalfall steht hier eine 1.

Das Feld "Auswahl" stammt aus der Tabelle "Preise" und ist ein Auswahlfeld mit den zwei Werten "Leistung" (1) und "Nebenkosten" (2)

Was mir auffällt ist, dass durch meine Struktur ich in zwei Wegen zur Auswahl komme. Einmal über das Projekt.Projektpreise.Preise. Auswahl und dann auch über Leistungserfassung.Projektpreise.Preise.Auswahl

Kann es sein das dadurch es nicht zu einem Ergebnis kommt? Ich habe schon beide Wege in der let Anweisung ausprobiert. Jedes Mal kommt das Ergebnis 0,00€ zurück. Deine Formel ergibt kein Ergebnis sonderen die oben genannte Fehlermeldung.

 

Danke

Gruss Martin

Ninox Profile

Ich blicke da zwar nicht vollends durch, würde aber mal folgendes versuchen:

 

sum((select Leistungserfassung where Projektpreise.Preise.number(Auswahl) = 1).Netto)

 

Ninox Profile

Nein, so werden alle Projekte berücksichtig. Wenn das Feld Auswahl in der Tabelle Leistungserfassung existiert, kann man so ausproieren.

---

sum(Leistungserfassung[number(Auswahl) = 1].Netto)

---

Leo

 

Ninox Profile

Ja, es ging mir nur um den Filter auf das verknüpfte Auswahlfeld, der in der gegebenen Konstellation ja nicht funktioniert hatte. Aber klar, wenn es nur auf das Projekt bezogen sein soll, dann muss man den Filter natürlich entsprechend ergänzen, z. B.:

 

let myProjekt := Projekte;
sum((select Leistungserfassung where Projekte = myProjekt and Projektpreise.Preise.number(Auswahl) = 1).Netto)

 

Wobei ich tatsächlich auch überlegen würde, die Auswahl fest in die Tabelle Leistungserfassung zu übernehmen. Würde alles etwas übersichtlicher.

Ninox Profile

Hallo,

 

vielen Dank für eure Hilfe. Mit euren Antworten bin ich ein Stück weiter gekommen. Ich habe mir die Tabelle "Projektpreise" einmal genau angesehen. Im Formular habe ich dann das Feld Preis mal mit allen Feldern anzeigen lassen. Siehe da, es kommt der Preis nicht. 

Ich habe diese Tabelle einfach falsch aufgebaut und nur verküpft. Dadurch wird mir ein richtiger Preis angezeigt, wo aber keiner wirklich ist :=)) Wie ich das geschafft habe, kann ich auch nicht sagen.

Ich baue die Tabelle erst einmal um und mache Richtige Datensätze über Trigger. Dann versuche ich es erneut. Ich werde mich melden, wenn es dann geklappt hat. Erst einmal ein großes Dankeschön

Gruss Martin

Reply