3 Antworten Neueste Antwort am Aug 22, 2016 12:16 PM von HLandschulz

    Summe mit Bedingung aus anderem Feld

    kip

      Hallo,

       

      Ist wahrscheinlich eine dumme Anfängerfrage: Wie kann man Summen an Bedingungen knüpfen?

       

      Gegeben ist

      • Tabelle Projekte (_ProjektID)  <-----> Tabelle Rechnungen (_ProjektID)
      • Rechnungen beinhaltet ein Feld für unterschiedliche Rechnungstypen (ER, AR, SR)
      • Drucklayout basiert auf Projekte (ich will noch andere Angaben auf dem Ausdruck haben)
      • Auf dem Layout gibt es jeweils einen gefilterten Ausschnitt für Rechnungen vom Typ ER und AR

       

      Unter die Ausschnitten würde ich gerne Summenfelder setzen, die sich nur auf den jeweiligen Inhalt des Ausschnitts beziehen.

      Ich habe in Tabelle "Projekte" dafür zum Testen ein Feld vorgesehen, aber SUMME() berechnet ja immer alle Rechnungssummen.

       

      Eine Lösung wäre sicherlich, "Rechnungen" mit einem Hilfsfeld wie wenn (Rechnungstyp = "AR" ; Rechnungssumme ; "" ) zu versehen und das per SUMME() in "Projekte" zu addieren - aber das geht bestimmt auch einfacher und mit weniger Feldern und trotzdem einfach nachvollziehbar, oder?

       

      kip

       

      Kleiner Nachtrag: Ich bin Anfänger und weder Programmierer noch DB-Entwickler - suche daher eine praktikable und einfache Lösung, die ich in einem halben Jahr auch noch nachvollziehen kann :-)

        • 1. Re: Summe mit Bedingung aus anderem Feld
          HLandschulz

          Hallo,

           

          mit FileMaker Bordmitteln geht es nur über Hilfsfelder.

          Einfacher geht es mit dem SQL-Befehl

          SQLAusführen ( "SELECT SUM(Betrag) FROM Rechnungen WHERE Rechnungstyp = ? ; "" ; "" ; "AR )

           

          Heike

          • 2. Re: Summe mit Bedingung aus anderem Feld
            kip

            Hallo Heike,

             

            und wie ergänze ich die Formel in einem Feld in Projekte, wenn ich nur die Abschlagsrechnungen aus dem jeweiligen Projekt sehen möchte?

            Ich habe es mit

             

            SQLAusführen ( " SELECT SUM(Betrag) FROM Rechnungen WHERE Rechnungstyp = 123 AND \"_Projekt_ID\" = HoleFeldwert ( \"_Projekt_ID\" )" ; "" ; ""  )

             

            und mit

             

            SQLAusführen ( " SELECT SUM(Betrag) FROM Rechnungen WHERE Rechnungstyp = 123 AND \"_Projekt_ID\" = HoleFeldwert ( Projekte::Projekt_ID )" ; "" ; ""  )

             

            versucht, aber das hat leider nur ein ? ausgeworfen.

             

            kip

            • 3. Re: Summe mit Bedingung aus anderem Feld
              HLandschulz

              SQLAusführen ( " SELECT SUM(Betrag) FROM Rechnungen WHERE Rechnungstyp = ? AND \"_Projekt_ID\" =? " ; "" ; "" ; "AR";  Projekte::Projekt_ID )

               

              Heike