Ich brauche eine Summe im Bericht. Mein Problem ist nur, das ich nicht einfach Sum(Endkosten) in der Fußzeile nehmen kann, da ich Datensätze (Sortier=99) dazwischenhabe, die ich weder rausbekomme noch mitberechnet werden dürfen.
Mein bisherige Codeversuche sehen bis jetzt so aus:
MSQL = "SELECT Endkosten As Summe1 FROM Detailbereich WHERE NOT Me.Sortier=99 "
Me.Text123.Recordsource = MSQL
Oder
CurrentDb.Execute ("INSERT INTO Text123(Endkosten) values Sum(Endkosten) FROM Me.Detailbereich WHERE NOT Me.Sortier=99")
Mir ist auch klar das/warum beide Codefragmente nicht funktionieren können, aber das sind meine letzten Einfälle und mir fällt langsam nichst mehr ein.
Hallo,
versuche es so:
=DomSume("Endkosten";"Tabellenname";"Sortier <> 99")
Als Steuerelementinhalt in einem Berichtsfeld.
Als Tabellename kann auch der Name der Abfrage für den Bericht verwendet werden.
Diese Summe in die Tabelle zu schreiben ist überflüssig. Berechnete Werte werden nicht gespeichert.
An DomSumme hatte ich auch schon gedacht.
Ich hab aber gerade das Problem, das er das Sortier<>99 nicht akzeptiert. Ich bekomme dadurch im Textfeld: #Fehler.
Ohne Sortier<>99 klappt es.
Mein zweites Problem ist, das diese Sortierung nur im Gruppenfuß stattfinden soll, und nur mit den Daten die auch dafür gruppiert sind.
Ich habe alles mit "Sortieren und Gruppieren" im Bericht sortiert. In dessen Gruppenfüße werden dann die Summen berechnet. Problem daran ist nur, das in den Tabellendaten einige Datensätze drin sind (Sortier=99), die nicht in der Zwischensumme mitberechnet werden dürfen.
Ich habe mehere Gruppenfüße für die verschieden Zwischensummen.
Ich hoffe ich habs jetzt verständlich umschrieben.
Hallo,
wenn "Sortier" von Datentyp Text ist, dann muß es so heißen:
=DomSume("Endkosten";"Tabellenname";"Sortier <> '99'")
Nagut, jetzt funktioniert DomSumme, aber ich errechne damit nur die Endsumme.
Ich brauche aber die Zwischensummen.
Hallo,
dann bring halt noch die Gruppierungsfelder in das Kriterium mit ein...
=DomSume("Endkosten";"Tabellenname";"Sortier <> '99' and IDGruppenfeld1 =" & [IDGruppenfeld1])
Kannst du mir das mit den Gruppenfeldern erklären? Das scheint das zu sein was ich suche.
Hallo,
mhmm, was soll ich erklären...?
Du hast doch den Bericht nach irgendwelchen Feldern gruppiert und dazu Gruppenköpfe/füße angelegt.
Die dafür zugrundeliegenden Tabellen-/ und Berichts-Feldnamen setzt Du in das Kriterien-Argument der DomSumme()-Funktion wie gezeigt ein.
Hmm, also irgenwie klapps bei mir nicht.
Er berechnet immer nur die Endsumme, ignoriert scheinbar meine Zusatzeingabe.
=DomSume("Endkosten";"Zwischentabelle";"Sortier <> '99' and Kredit=[Kredit]")
,- oder nachdem ich dachte "Kredit" (da dessen Steuerelementinhalt identisch ist mit Name) würde Fehler verursachen hab ich dessen Name in Text1 geändert, aber dennoch nichts.
=DomSume("Endkosten";"Zwischentabelle";"Sortier <> '99' and Text1=[Text1]")
Muss ich irgendwas mit [Detailbereich.Kredit] oder so eingeben? Ich bekam da zunächst auch Fehler.
Hallo,
so hab ich das nicht geschrieben (obwohl der "&" -Operator in meinem Beispiel fehlt..., hab das aber korrigiert)
Es muß so lauten:
=DomSume("Endkosten";"Zwischentabelle";"Sortier <> '99' and Kredit =" & [Kredit])
wenn "Kredit" in der Tabelle vom Datentyp Long ist. ("Kredit" ist das entspr. Textfeld im Bericht)
Wenn vom Datentyp Text, dann so:
=DomSume("Endkosten";"Zwischentabelle";"Sortier <> '99' and Kredit='" & [Kredit] & "'" )
Bingo, das wars. :D
An dieser Summierung hing ich echt fest. :P
Danke für die schnelle Lösung.