Access-o-Mania

Access-Forum => Bericht => Thema gestartet von: BikeArno am April 19, 2021, 13:42:21

Titel: DomSumme im Bericht
Beitrag von: BikeArno am April 19, 2021, 13:42:21
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?

Titel: Re: DomSumme im Bericht
Beitrag von: MzKlMu am April 19, 2021, 14:12:35
Hallo,
was ist denn Datensatz3 ?
Für eine Abfrage oder Tabelle die hier benötigt wird, wären das etwas merkwürdige Namen.
Titel: Re: DomSumme im Bericht
Beitrag von: BikeArno am April 19, 2021, 14:44:17
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.
Titel: Re: DomSumme im Bericht
Beitrag von: Maxel am April 19, 2021, 14:49:49
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...
Titel: Re: DomSumme im Bericht
Beitrag von: MzKlMu am April 19, 2021, 14:50:17
Hallo,
und was ist denn Datensatz ? Ein Tabellen oder Abfragename ? Da wäre dann Datensatz auch ein merkwürdiger Name dafür.
Titel: Re: DomSumme im Bericht
Beitrag von: BikeArno am April 19, 2021, 15:19:24
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 ;-)

Titel: Re: DomSumme im Bericht
Beitrag von: MzKlMu am April 19, 2021, 15:28:44
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.
Titel: Re: DomSumme im Bericht
Beitrag von: BikeArno am April 19, 2021, 16:41:11
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.
Titel: Re: DomSumme im Bericht
Beitrag von: DF6GL am April 19, 2021, 17:34:18
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.
Titel: Re: DomSumme im Bericht
Beitrag von: BikeArno am April 21, 2021, 11:46:25
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ß
 
Titel: Re: DomSumme im Bericht
Beitrag von: MzKlMu am April 21, 2021, 11:53:59
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 ".
Titel: Re: DomSumme im Bericht
Beitrag von: BikeArno am April 21, 2021, 12:23:42
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...

Titel: Re: DomSumme im Bericht
Beitrag von: MzKlMu am April 21, 2021, 12:31:50
Hallo,
mache aus der Abfrage eine Tabelle und lade diese in einer Beispieldb hier hoch.
Sonst kriegen wir das nie geregelt.
Titel: Re: DomSumme im Bericht
Beitrag von: BikeArno am April 22, 2021, 08:52:06
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ß
Titel: Re: DomSumme im Bericht
Beitrag von: MzKlMu am April 22, 2021, 09:57:59
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.
Titel: Re: DomSumme im Bericht
Beitrag von: BikeArno am April 22, 2021, 15:55:48
Zitat von: MzKlMu am April 22, 2021, 09:57:59das Feld AnzahlKH ist nicht leer, es enthält einen Nullstring ("").

Du lagst wieder richtig. Danke dafür, klappt. Auf dieses Leerstringproblem werde ich dann wohl mal gezielt achten müssen.

PS: Eine weitere funktionierende Möglichkeit - direkt im Code - wäre dann noch:

=DomSumme("AnzahlKH";"qry_Datensatz";"AnzahlKH > '""'")
Gruß
Titel: Re: DomSumme im Bericht
Beitrag von: DF6GL am April 22, 2021, 16:12:41
Hallo,


ZitatAuf dieses Leerstringproblem werde ich dann wohl mal gezielt achten müssen.

Wenn ich mich recht entsinne, habe ich Dich schon längst darauf hingewiesen.
Titel: Re: DomSumme im Bericht
Beitrag von: BikeArno am April 23, 2021, 10:24:31
Zitat von: DF6GL am April 22, 2021, 16:12:41Wenn ich mich recht entsinne, habe ich Dich schon längst darauf hingewiesen.

Ja, danke dir dafür. Ich war aber scheinbar dennoch zu blöd nachzuvollziehen, dass ich einen Leerstring wie von Klaus beschrieben oder mit '""' - und eben nicht nur mit "" oder "Is not Null" ersetzen muss...