Neuigkeiten:

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

Mobiles Hauptmenü

Zählen von Abfrageergebnissen

Begonnen von Beate1953, November 10, 2012, 20:00:21

⏪ vorheriges - nächstes ⏩

Beate1953

Hallo,

ich habe einen Bericht, der auf einer Abfrage basiert. Nun möchte ich Access zählen lassen, wieviele Datensätze gefunden wurden. Wie mache ich das?

Vielen Dank im Voraus für Eure Hilfe
Beate1953

MzKlMu

Hallo,
im Berichtsfuß/Kopf ein Feld mit
=Anzahl(*)
als Steuerelementinhalt.
Gruß Klaus

Beate1953

Hallo,

vielen Dank für den Tipp. Das klappt schon mal prima!

Wie kriege ich jetzt Access noch dazu, mir zu sagen, bei wievielen dieser Datensätze im Feld E-Check der Wert "Bestanden" steht?

Liebe Grüße
Beate1953


Beate1953

Hallo,

ich habe mir die Funktion DCount() angesehen und dort
Ausdruck.DCount(Expr,Domain,Criteria)
gefunden.
Soweit ich das verstanden habe ist Expr das Feld in dem die zu zählenden Werte stehen, also in meinem Fall E-Check. Domain müßte der Name der Abfrage sein, auf der mein Bericht basiert, also GesBerichtMitAuftraggeber. Criteria müßte [E-Check]= "Bestanden" sein.

Stimmt das soweit? Aber was nehme ich als Ausdruck? Und wo schreibe ich diese Formel hin? In ein Textfeld im Berichtskopf?

Viele Grüße
Beate1953

Beaker s.a.

Hallo Beate,
Hast Du alles (fast) richtig verstanden.
Wichtig ist, dass alle Parameter vom Typ String
sind, deshalb musst Du aufpassen beim
Kriterium wenn das auf einen String vergleicht.
DCount zählt alle DS, die dem Kriterium ent-
sprechen, musst Du also nicht unbedingt einen
Feldnamen angeben, - "*" reicht.
Bei Dir also
=DCount("*";"DeineAbfrage";"[E-Check] = 'Bestanden'")
Das schreibst Du, wie vermutet, in die Eigen-
schaft "Steuerelementinhalt" eines Testfeldes.
Ausdruck. kannst Du ignorieren. Das ist lt. OH
ein Application-Objekt. Normal also die aktuelle
Access-Instanz.
Das würdest Du nur brauchen, wenn Du DS in
einer Tabelle/Abfrage, die in einer zweiten
Instanz enthalten sind, zählen wölltest.
hth
gruss ekkehard

P.S. Noch ein paar kurze Anmerkungen:
Vermeide unbedingt Sonderzeichen in Objekt-
namen (E_Check statt E-Check)
Nochmal DCount:
Vergleich mit Zahl:
=DCount("*";"DeineAbfrage";"[E-Check] = 1")
Vergleich mit Stringvariable:
=DCount("*";"DeineAbfrage";"[E-Check] = '" & varString & "'")
Vergleich mit numerischer Variable:
=DCount("*";"DeineAbfrage";"[E-Check] = " & varZahl)
varString und varZahl können auch Bezüge auf
Formularfelder sein (Datentyp entsprechend).
Und wenn Du DCount in VBA verwendest, musst Du
die ";" durch "," ersetzen.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Beate1953

Hallo,

ich habe die Funktion wie angegeben in die Eigenschaft Steuerelementinhalt eines Textfeldes im Berichtskopf eingegeben. Access hat DCount in DomAnzahl umgewandelt und im Textfeld erschien die Meldung #Fehler. Dann habe ich probeweise mal das Kriterium ganz weggelassen, so daß der Steuerelementinhalt nur noch
=DomAnzahl("*";"GesBerichtMitAuftraggeber")
war und trotzdem hieß es wieder #Fehler.

Was habe ich falsch gemacht?

Viele Grüße
Beate1953

Beaker s.a.

Hallo Beate,
Zitatich habe die Funktion wie angegeben
Na, die Namen musst Du schon anpassen  ;)
DomAnzahl ist o.k.; - die Accessoberfläche spricht deutsch,
VBA und SQL englisch.
Am Ausdruck kann ich keinen Fehler erkennen, höchstens,
dass "GesBerichtMitAuftraggeber" nicht der Name einer
Tabelle/Abfrage ist, sondern, wie der Name vermuten
lassen könnte, der Name eines Berichtes.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Beate1953

Hallo,

ich habe die Namen in der angegebenen Formel an meine Namen angepasst und GesBerichtMit Auftraggeber ist tatsächlich der Name der Abfrage (Abfrage zur Erstellung des GesamtBerichtes) auf der der Bericht basiert.

Hat noch jemand eine Idee was an meiner Formel falsch sein könnte?

Viele Grüße
Beate1953

DF6GL

#9
Hallo,

ZitatGesBerichtMit Auftraggeber


Ist das nur ein Schreib-/Tippfehler oder enthält der Abfragenamen tatsächlich ein Leerzeichen?


Prämisse:  Auf Sonder- und Leerzeichen DRINGEND verzichten! (UND an allen betroffenen Stellen nacharbeiten!). Gleiches gilt für reservierte Wörter....

Beate1953

Hallo,

vielen Dank an alle  für Eure Hilfe. Ich weiß jetzt, wo der Fehler lag: Und zwar habe ich bei dem vielen Herumprobieren offenbar meine Abfrage zerschossen. Jedenfalls, als ich die Abfrage neu gemacht habe, hat alles prima geklappt.

Vielen, vielen Dank nochmals!

Viele Grüße
Beate1953