0

In einem Formular die Summe einer anderen Tabelle anzeigen

Hallo,

ich habe eine Tabelle mit allen berechneten Leistungen. Jetzt habe ich eine Jahresplanung zusätzlich in einer  Tabelle gemacht. Jetzt möchte ich in der Jahresplanung (Fomular) für das geplante Jahr auch die Summen anzeigen.

Wie ich erkannt habe, muss ich erst einmal die Tabelle verknüpfen. Leider bekomme ich aber keinerlei Anzeige der Datensätze und ich bekomme die Tabelle auch nicht sofort auf das Jahr das in der Planung angegeben ist, gefiltert.

Was mache ich hier falsch? Kann ich direkt per Code auf die andere Tabelle zugreifen, ohne diese zu verknüpfen?

Wäre dankbar für einen Tipp.

 

Danke

Martin

26 Antworten

null
    • Paul_J_Herberhold
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo,

    eigentlich musst du nur eine Verküpfung zwischen den beiden Tabellen herstellen. Kannst du mir noch kurz etwas genauer erzählen was in den beiden Tabellen drin ist? Ist in der einen Tabelle deine Produktpalette und in der anderen deien Jahresabrechnung oder verstele ich das falsch?

    • Paul_J_Herberhold
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Falls es so ist wie ich denke, dass in der einen Tabelle deine Artikel und in der anderen die Jahresabrechnungen stehen, ist der Trick folgender:

    du erstellst eine verknüpfte Untertabelle "Bestellungen" in der Tabelle Jahresabrechnungen. Diese verknüpfst du wiederum mit deiner Artikel Tabelle.

     

    Nun hast du die Möglichkeit mithilfe der Untertabelle "Bestellungen" mehrere Artikel in einen einzelnen Datensatz in der Tabelle "Jahresabrechnungen" einzufügen. Mit Hilfe des Funktionsfeld kannst du mit der Untertabelle arbeiten und dir zB die Summe aller Posten generieren lassen.

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Paul,

    ich habe in der neune Tabelle folgende Felder [Jahr] [Planumsatz Leistung] [Planumsatz Reisekosten] [Planumsatz Jahr]

    Das letzte Feld ist die Summe aus den beiden Plankosten. Diese Tabelle ist benannt als "Jahresplanung".

    Die zweite, bis jetzt nicht verknüpfte Tabelle nennt sich "Leistungserfassung". In dieser sind die folgenden Felder relevant:

    [Jahr] [Netto] [Art]  Das letzte Feld hat das Kennzeichen ob es eine Leistung oder ob es Reisekosten sind, die an den Kunden berechnet wurden.

    Ich habe nun vor, die Summe der Leistungen zu berechnen die real berechnet wurden. Und zwar für das geplante Jahr.

    Dazu  habe ich die Tabelle "Leistungserfassung" versucht zu verknüpfen. Ich bekomme bei einer 1:N Verknüpfung keine Daten angezeigt. Er findet dies einfach nicht. Daher kann ich auch nicht auf das Jahr und auf die Art bezogen eine Summe nehmen.

    Ich hoffe das ist nun verständlich erklärt.

     

    Danke

    Martin 

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    in einem Berechnungsfeld folgenden Skript:

    let Jahr := 2018

    sum((select Leistumgserfassung where Jahr = JAH).Netto)

    • Paul_J_Herberhold
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Stehen die Positionen in der Tabelle "Leistungserfassung" schon vorher fest und werden mehrfach genutzt oder wird dort jedes mal für jeden Posten ein extra Datensatz erstellt? 

     

    Wenn du jedes mal einen extra Datensatz erstellst, dann erzeugst du innerhalb deiner Tabelle Jahresübersicht eine Untertabelle in der du die Felder (Jahr) (Netto) (Art) erstellst. In deiner Haupttabelle wird dir dann dann ja ein Feld mit der Untertabelle angezeigt. Dort klickst du auf das Plus-Symbol und kannst dann Daten in deine Untertabelle eingeben.

     

    Wenn du Umsätze aus Leistung und Reisekosten separat verwenden willst, dann würde ich zwei Felder erstellen (Netto Leistung) und (Netto Reisekosten), die ich jeweils nur anzeigen lasse wenn Art dem jeweiligen Zweck entspricht. 

    So brauchst du später keine komplizierte Formel um die beiden Werte einzeln zu interpretieren.

    • Paul_J_Herberhold
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Stehen die Positionen in der Tabelle "Leistungserfassung" schon vorher fest und werden mehrfach genutzt oder wird dort jedes mal für jeden Posten ein extra Datensatz erstellt? 

     

    Wenn du jedes mal einen extra Datensatz erstellst, dann erzeugst du innerhalb deiner Tabelle Jahresübersicht eine Untertabelle in der du die Felder (Jahr) (Netto) (Art) erstellst. In deiner Haupttabelle wird dir dann dann ja ein Feld mit der Untertabelle angezeigt. Dort klickst du auf das Plus-Symbol und kannst dann Daten in deine Untertabelle eingeben.

     

    Wenn du Umsätze aus Leistung und Reisekosten separat verwenden willst, dann würde ich zwei Felder erstellen (Netto Leistung) und (Netto Reisekosten), die ich jeweils nur anzeigen lasse wenn Art dem jeweiligen Zweck entspricht. 

    So brauchst du später keine komplizierte Formel um die beiden Werte einzeln zu interpretieren.

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Super! Hat geklappt. 

    Wenn ich das richtig verstanden habe, muss ich immer dann, wenn ich keine direkte Verknüpfung habe von einem Skript ausgehen. Dabei muss ich auch beachten das ich eine interne Variable vorher mit der let Anweisung definieren.

    Ist das so richtig? Dann habe ich es auch für die Zukunft dann verstanden.

    Danke

    Gruss Martin

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    genau so ist es...

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke für die Hilfe und Erklärung.

    Schönes Wochenende

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ich habe leider doch noch ein Problem. Wenn ich im zweiten Datensatz das neue Jahr 2019 anlege, dann müsste das Feld Umsatz = 0 sein, weil ich dort noch keine Umsätze habe. Es wird aber trotzdem der Wert aus 2018 angezeigt.

    Hier die Formel wie ich sie verwendet haben:

    let Jahr := Planjahr;
    sum((select Leistungserfassung where Jahr = Jahr and AW = 1).Netto)

    Planjahr ist das Feld in der Tabelle Jahresplanung. AW ist die Gruppe für die Trennung von Leistung und Nebenkosten (1= Leistung).

    Danke

    Gruss Martin

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    die Variabele hat den gleichen Namen wie ein Feld...

    let myJahr := Planjahr;

    sum((select Leistungserfassung where Jahr = myJahr and AW = 1).Netto)

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo,

     

    ich habe es geändert und komme leider noch immer zum gleichen Ergebnis. Dann habe ich versucht das Feld Planjahr einmal als Zahl und einmal als Text. In beiden Fällen ändert sich leider nichts. Es gibt auch keine Fehlermeldung.

    Dann habe ich den Teil AW=1 rausgenommen. Um zu prüfen ob diese Bedingung zu einem falschen Ergebnis führt. Leider auch kein Erfolg. Wenn ich nur die Bedingung AW = 1 angebe, dann kommt ein Ergebnis.

    Es muss irgendwie an an der Funktion Jahr = myJahr liegen.

    Hat irgendeiner einen anderen Ansatz?

     

    Danke

    Gruss Martin 

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Martin,

    Wie sien das Feld Jahr aus? wenn die Daten nach Datum erfasst werden kannst so ausprobieren:

    ---

    let myJahr := Planjahr;

    sum(select Leistungserfassung where year(Erfassungsdatum) = myJahr and AW = 1.Netto);

    ---

    Dabei ist Planjahr ein Zahlenfeld und Erfassungsdatum - dein Erfassungsdatum.

     

    Leo

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    irgenwie hat das Planjahr keinen Wert, würde ich sagen. Planjah wird von der Tabelle Jahresplanung genommen. Das ist aber nicht so hinterlegt. Da müßte irgendwie ja Jahresplanung.Planjahr stehen...

    was passiert, wen Du mal das testet:

    let myJahr = 2018;

    sum(( select... usw.

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Wenn ich *:= 2018 eintrage, dann kommt die Summe. Dann natülich immer für das fixe Jahr.

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    dann wird im "Planjahr" nichts übergeben...

    was ist Planjahr, steht ja in der Jahresplanung. Aber einfach Planjahr zu schreiben reicht nicht...

    Wie ist die Verbindung zwischen den Tabellen Jahresplanung und Leistungserfassung...

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Es gibt derzeit keine Verknüpfung beider Tabellen. Das war mein erster Ansatz, doch das funktionierte nicht.

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    dann kann Ninox in die Variabel my Jahr auch nichts laden...

    Du mußt Ninox irgendwie mitteilen, welches Jahr Du haben möchtest...

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Das verstehe ich nicht. Die Variable wird in der seben Tabelle gefüllt. "let myJahr = Planjahr

    Die anderen Felder sind beide in der Leistungserfassung und diese erkennt ja auch das Feld AW. Wenn  ich die Variable myJahr weglasse, dann kommt doch genau die Summe von AW = 1.

    Wo habe ich meinen Denkfehler?

    Danke

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    in welcher Tabelle steht das Feld Planjahr ?

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    iN der Tabelle Jahresplanung

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    abwr mit der Zeile

    let myJahr := Planjahr

    wird kein Bezug zur Tabelle Jahresplanung hergestellt...

    es müßte irgenwie so sein:

    let myJahr := first(select Jahresplanung).Planjahr

    oder ähnlich...

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    das gibt jetzt das Feld Planjahr aus der Tabelle Jahresplanung zurück

    • MGrosse
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Nach deinem Hinweis habe ich nun den Grund gefunden. Es lag mal wieder an der gleichen Stelle. Ich habe in der Leistungserfassung ein Auswahlfeld für das Jahr. Damit ist der Wert nicht 2018 oder 2019  sondern 1 oder 2. 

    Ich muss wirklich besser aufpassen. Trotzdem vielen Dank, ich habe die Zusammenhänge wieder ein wenig besser verstanden. 

    Gibt es eigendlich eine Auflistung und  Beschreibung aller Befehle ? Wo kann ich mich hier informieren? 

    Vielleicht eine dumme Frage, doch ich kann sie leider nicht direkt beantworten. Danke

    Gruss Martin

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    👍👍👍, es gibt Handbücher, aber... da besteht Nachholebedarf...

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 26Antworten
  • 6761Ansichten