November 24, 2020, 07:14:03

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


#Fehler bei Zählen wenn

Begonnen von Newcomer2016, April 21, 2016, 11:35:58

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

die Domänenaggregat-Funktionen können nur auf Tabellen/Abfragen angewendet werden, nicht auf Formulare oder Berichte.


Insofern muss, wenn eine Filterung eines Forms/Reports berücksichtigt werden soll,  eben dieses aktuelle Filterkriterium mit in den Where-Condition-Parameter der Funktion mit aufgenommen werden.



Evtl. hilft ja die Anzahl()-Funktion im Steuerelementinhalt eines Form-Textfeldes weiter:

=Anzahl([N])

Carl

okay, ich bin nun doch auf Abfrage als Endlosformular umgestiegen.

=DomAnzahl("MoErwartet";"abfAnwesenheitsverhersage";"nz([MoErwartet],'') = '" & Nz("erwartet";"") & "'") funktioniert, gibt aber alle Datensätze in der Abfrage zurück, ohne das zweite Kriterium zu beachten, nach dem gefiltert wurde.

-----------

Dann habe ich es hiermit vergeblich probiert, in dem ich beide Kriterien verwende:

= DCount("[MoErwartet]", "[abfAnwesenheitsverhersage]", "[MoErwartet] = "erwartet" AND "[bereich] = "1"")

Siehst Du hier meinen Fehler?

DF6GL

September 14, 2017, 17:37:52 #17 Letzte Bearbeitung: September 14, 2017, 21:21:52 von DF6GL
Hallo,

etwa so, wenn "MoErwartet" den Datentyp TEXT und "bereich"  LONG aufweist:
<<edit>>
= DCount("*"; "[abfAnwesenheitsverhersage]"; "[MoErwartet] = 'erwartet' AND [bereich] = 1")
<</edit>>

Lachtaube

Wenn die Daten der Abfrage im Formular (im Bericht geht's auch) angezeigt werden, sollte es auch so
=Abs(Summe([X] = 'H'))funktionieren, wobei aktuelle Filterbedingungen des Formulars berücksichtigt werden.

Zum Aufsummieren mehrerer Anzahlen musst Du dann halt zwei oder mehr Ausdrücke in einen Steuerelementinhalt hintereinander mit dem Plus-Operator schreiben. (Der Übersicht wegen mit Zeilenumbruch)=Abs(Summe([Einfeld] = 'XYZ' AND [EinGleichzeitigAnderesFeld] = 4711)) +
Abs(Summe([Bereich] = 1 Und [MoErwartet] = 'erwartet'))


Jeder Ausdruck liefert je Datensatz entweder den Wert -1 (wenn er wahr ist) oder 0 (wenn er falsch ist). Der Absolutwert der negativen Summe sollte dann die richtige Anzahl ausgeben.
Grüße von der (⌒▽⌒)

Carl

Ja, die Datentypen Text und Long liegen vor. Aber es geht nicht. Es ist zum Mäuse melken. Ich habe auch in der Abfrage noch einmal [MoErwartet] in Long.

Kann man hier in diesen Ausdruck nicht ein zweites Kriterium ([bereich] = 1, Long) hinzu fügen?

=DomAnzahl("MoErwartet";"abfAnwesenheitsverhersage";"nz([MoErwartet],'') = '" & Nz("erwartet";"") & "'")

Carl

MzKlMu

Hallo,
beschreibe bitte noch mal was Du jetzt mit welchen Abhängigkeiten Du zählen willst. Einfach so in Prosa, ohne Bezug auf eine Formel. Ich bin da ziemlich verwirrt.
Zitatnoch einmal [MoErwartet] in Long.
wenn das Long ist, warum verwendest Du da Hochkomma ?
Und es gab da doch auch mal einen Text "erwartet", wo ist jetzt der geblieben.
Gruß
Klaus

Carl

Ich habe das Problem, das keine der hier geposteten Formeln irgend ein Ergebnis liefert. Weder mit Endlosabfrage, noch mit Endlosformular. Ich dachte, ich hab vielleicht im Hauptformular was falsch eingestellt.

Bis auf die:
=DomAnzahl("MoErwartet";"abfAnwesenheitsverhersage";"nz([MoErwartet],'') = '" & Nz("erwartet";"") & "'")

Die liefert die Gesamtzahl aller "erwartet" in MoErwartet. Ich brauche aber hier noch eine Einschränkung, nämlich um alle, die "1" in "[Bereich]" enthalten.

Dein Vorschlag, den Filter mit in den =DCount einzubauen, finde ich am Besten. Allerdings übersteigt das meine derzeitigen mentalen Fähigkeiten.

MzKlMu

Hallo,
versuche es so:
=DomAnzahl("MoErwartet";"abfAnwesenheitsverhersage";"[MoErwartet] = 'erwartet' And Bereich = 1")
Nz ist hier meiner Meinung nach nicht notwendig.

PS:
Heist die Abfrage wirklich "abfAnwesenheitsverhersage
Gruß
Klaus

Carl

September 14, 2017, 20:09:33 #23 Letzte Bearbeitung: September 15, 2017, 10:46:26 von MzKlMu
Ahh! Danke Franz, jetzt geht es. Endlich, ich hab schon gezweifelt.

Ich habe noch gleich zwei Kollateralfragen:
# Lässt sich die Spaltenbreite in einer Endlosabfrage fixieren? Die geht bei mir immer wieder auf Ausgang zurück, wenn ich zwischen den Ansichten wechsle.
# Lässt sich die eingestellte Schriftgröße im Zoomfenster (shift+F2) irgendwie fixieren? Oder muss man die jedesmal nach dem laden der db erneut einstellen?

Ja, es heißt leider abfAnwesenheitsverhersage, weil ich mich irgend wann mal vertippt habe und steht jetzt auch dort so, wo es die Autokorrektur nicht erreicht.


MzKlMu

September 14, 2017, 20:19:15 #24 Letzte Bearbeitung: September 15, 2017, 10:46:34 von MzKlMu
Hallo,
nein, die Spaltenbreiten einer Abfrage lässt sich nicht dauerhaft einstellen.
Daher zeigt man ja auch eine Abfrage gar nicht an, sondern verwendet ein Formular.
Zum Zoomfenster kann ich nichts sagen, das gehört halt auch eher zu den Dingen die man nicht braucht.

Übrigens, ich bin Klaus, nicht Franz.
Gruß
Klaus