Mai 16, 2021, 23:28:28

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


DomSumme im Bericht

Begonnen von BikeArno, April 19, 2021, 13:42:21

⏪ vorheriges - nächstes ⏩

BikeArno

April 19, 2021, 13:42:21 Letzte Bearbeitung: April 19, 2021, 14:44:34 von BikeArno
Hallo,

mich plagt ein Problem, welches eigentlich keins sein dürfte. Und zwar habe ich in einem Bericht ein ungebundenes Textfeld, in dem ich die Summe der Zahlen in einem Feld addieren möchte.

Merkwürdigerweise klappt das nur, wenn ich ein Kriterium angebe:

=DomSumme("AnzahlKH";"Datensatz";"KriteriumA='ok'")
Mit diesem Code erhalte ich die korrekte Summe, falls Kriterium A=ok. Nun möchte ich aber die Summe über alle Datensätze, also unabhängig vom Kriterium A.

Ich bekomme es nicht hin! Ich habe es mit folgenden Codes probiert:
=DomSumme("AnzahlKH";"Datensatz")=DomSumme("AnzahlKH";"Datensatz";"KriteriumA <>'ok'")Es erschein stets #Fehler. Was mache ich denn falsch?


MzKlMu

Hallo,
was ist denn Datensatz3 ?
Für eine Abfrage oder Tabelle die hier benötigt wird, wären das etwas merkwürdige Namen.
Gruß
Klaus

BikeArno

Zitat von: MzKlMu am April 19, 2021, 14:12:35was ist denn Datensatz3 ?
Für eine Abfrage oder Tabelle die hier benötigt wird, wären das etwas merkwürdige Namen.

Danke für den Hinweis. Es sollte "Datensatz" heißen und ich ändere das.

Maxel

ZitatEs sollte "Datensatz" heißen und ich ändere das.

Mit der Änderung eines Tabellen- oder Abfragenamens von "Datensatz3" auf "Datensatz" wird die Bezeichnung der Datenquelle auch nicht unbedingt plausibler...
Gruß
Maxel

MzKlMu

Hallo,
und was ist denn Datensatz ? Ein Tabellen oder Abfragename ? Da wäre dann Datensatz auch ein merkwürdiger Name dafür.
Gruß
Klaus

BikeArno

Zitat von: MzKlMu am April 19, 2021, 14:50:17und was ist denn Datensatz ?

Mein Fehler. Ich habe "Datensatz" geschrieben, da ich dachte, zu Demonstrationszwecken des o.g. Codes wäre das ausreichend bzw. egal, wie die Datenquelle heißt. Im Original heißt sie "qry_Datensatz" und ist eine Abfrage. Ich werde künftig darauf achten ;-)


MzKlMu

Hallo,
=DomSumme("AnzahlKH";"qry_Datensatz")ist richtig und muss funktionieren.
Funktioniert die Abfrage selbst bei Doppelklick ?

PS:
qry_Datensatz ist immer noch ein merkwürdiger Namen für eine Abfrage.
Gruß
Klaus

BikeArno

Zitat von: MzKlMu am April 19, 2021, 15:28:44=DomSumme("AnzahlKH";"qry_Datensatz")ist richtig und muss funktionieren.

... dass dachte ich auch, tut es aber nicht. MIT Kriterium erfolgt die korrekte Berechnung, lösche ich das Kriterium raus (so wie im Code #6, bekomme ich einen "#Fehler". Ich drehe bald am Rad, weil ich keine Erklärung finde ...

Die Abfrage selbst funktioniert nach Doppelklick.

DF6GL

Hallo,

hat das Feld "AnzahlKH"  in jedem Datensatz, der von der Abfrage geliefert wird, einen numerischen Wert?

Ich denke, das Thema hatten wir doch schon ausgiebig diskutiert(? eher "monologisiert")

Bring doch endlich mal die Tabelle in Ordnung, sonst eiern wir immer wieder um solche Unzulänglichkeiten herum.

BikeArno

Zitat von: DF6GL am April 19, 2021, 17:34:18hat das Feld "AnzahlKH"  in jedem Datensatz, der von der Abfrage geliefert wird, einen numerischen Wert?

Hallo,

ursprünglich keine numerische Form, aber ich habe die Einträge mit ZDouble als Zahl umgewandelt; Summenbildung funktioniert damit aber leider immer nocht nicht.

Ich habe das Problem etwas eingrenzen können.

a) Im Feld AnzahlKH gibt es Datensätze mit "fehlenden" Einträgen (also leere Zelle). Sobald diese in der Berechnung auftauchen, scheitert sie (mittels Kriterium habe ich zwei Gruppen gebildet und die Berechnung erfolgt nur für die Gruppe, in der diese Leerzellen nicht vorhanden sind). Und das trotz der o.g. Umwandlung als Zahl.

b) Dann habe ich weiter versucht, in der Abfrage die Leerzellen mit 0 zu ersetzen:
Anzahl_KH: Nz([AnzahlKH];"0")Jedoch bleibt das Feld leer ("0" wird also nicht übernommen - auch ohne Anführungszeichen der 0 im Code).

Bin also weiter ratlos, was ich noch tun könnte.

PS: Die Tabellen bekomme ich so extern geliefert.

Gruß
 

MzKlMu

Hallo,
die leeren Felder spielen ja für die Summenbildung keine Rolle. Also schließe im Kriterium die leeren Felder aus.
=DomSumme("AnzahlKH";"qry_Datensatz";"AnzahlKH Not Is Null")
PS:
Nz([AnzahlKH];"0")Hier weist Du ein Text zu, nämlich das Zeichen 0 aber nicht die Zahl 0.
Zahl geht so:
Nz([AnzahlKH];0)Also ohne die ".
Gruß
Klaus

BikeArno

Zitat von: MzKlMu am April 21, 2021, 11:53:59=DomSumme("AnzahlKH";"qry_Datensatz";"AnzahlKH Not Is Null")

Ich habe das so getestet, sowohl mit "AnzahlKH Not Is Null" als auch mit "AnzahlKH Is Not Null" (gibt es da einen Unterschied?) - beides erzeugt weiterhin einen #Fehler :-( Sehr merkwürdig...


MzKlMu

Hallo,
mache aus der Abfrage eine Tabelle und lade diese in einer Beispieldb hier hoch.
Sonst kriegen wir das nie geregelt.
Gruß
Klaus

BikeArno

Zitat von: MzKlMu am April 21, 2021, 12:31:50mache aus der Abfrage eine Tabelle und lade diese in einer Beispieldb hier hoch.

Hallo,

ich habe mal die Beispieldatei wie beschrieben hochgeladen. Im Bericht sieht man, dass die Summenberechnung vermutlich immer dann scheitert, wenn die beiden Datensätze mit Leerzellen einbezogen sind. Das gleiche beim Diagramm.

Gruß

MzKlMu

Hallo,
das Feld AnzahlKH ist nicht leer, es enthält einen Nullstring ("").
Lasse erst mal diese Aktualisierungsabfrage laufen.
UPDATE Summe SET AnzahlKH = Null
WHERE AnzahlKH=""
Die macht aus dem Leerstring dann wirklich Null.
Dann funktioniert auch die Summenbildung.

Wieso ist dieses Feld eigentlich Kurzer Text, Du willst doch summieren, also sollte das ein Zahl sein.
Gruß
Klaus