PDA

Vollständige Version anzeigen : Anzahl (Count) mit Kriterium. Wie gehts einfach?


Werner2
20.06.2001, 12:43
Hallo,

habe folgendes Problem:
In meinem Bericht zähle ich aus einer Abfrage heraus die Datensätze wie folgt:

=Anzahl([Dokumentation fehlerhaft])

was auch hervorragend funktioniert.

In diesem Datensatzfeld existieren nur Ja und Nein.

Nun möchte ich nur die Datensätze zählen die ein Ja beinhalten.

Wie funktioniert das, habe mich schon (halb)totgesucht.?
(Bitte eine einfache Lösung, habe keine Programmierkenntnisse *gg*)

RobertQ
20.06.2001, 12:51
Hallo,

gib in der Abfrage auf die sich Dein Bericht bezieht, für das Feld [Dokumentation fehlerhaft] als Kriterium "J" ein. Die Abfrage wird dann auch nur noch die entsprechenden Sätze enthalten.

Werner2
20.06.2001, 13:02
Sorry, das vergass ich anzumerken.
In einem anderen Feld zähle ich noch ALLE Datensätze, die würden dann durch den Filter wegfallen, was nicht sein soll.

Stema
20.06.2001, 13:05
Hallo Werner,
das müßte etwas sein, wie:

=IIf([Dokumentation fehlerhaft]=TRUE;[Anzahl];"")

Werner2
20.06.2001, 13:11
Sorry Stema, so gehts nicht.
Kann man an meinen Ausdruck nicht einfach das Kriterium irgendwie "anhängen" ?

kama
20.06.2001, 13:14
Erstelle je ein feld für ja und Nein summe
Trage für daten=
DCount("[Dokumentation fehlerhaft]", "Deine tabelle", "[Dokumentation fehlerhaft]=true") für ja anzahl
DCount("[Dokumentation fehlerhaft]", "Deine tabelle", "[Dokumentation fehlerhaft]=False")
für nein Anzahl
ein

Werner2
20.06.2001, 13:36
Sorry Kama, so gehts auch nicht.
Bei:

DCount("[Dokumentation fehlerhaft]","Lieferantenbewertung 05-01","[Dokumentation fehlerhaft]=true")

erhalte ich die Fehlermeldung:

Syntaxfehler (fehlender Operator)in Abfrageausdruck FirstDCount([("[Dokumentation fehlerhaft]","Lieferantenbewertung 05-01","[Dokumentation fehlerhaft]=true")])

Ich verzweifle ...

kama
20.06.2001, 13:54
Ist dein Feld vielleicht ein Textfeld in dem Tatsächlich JA oder Nein steht?
Dann muß es heißen
DCount("[Dokumentation fehlerhaft]","Lieferantenbewertung 05-01","[Dokumentation fehlerhaft]='JA'")
wäre aber sehr schlechter stil
Oder
DCount("[Dokumentation fehlerhaft]","Lieferantenbewertung 05-01","[Dokumentation fehlerhaft]=0") bzw -1 für Ja
Ein syntaxfehler heißt ja das der Ausdruck falsch ist und Nicht die Funktion.
Bindest du auch an die richtige eigenschaft
Steuerelementinhalt=
Kama
PS ein auszug aus der Hilfe
Verwenden Sie DCount in einem berechneten Steuerelement, wenn Sie Kriterien festlegen müssen, um den Datenbereich, auf den die Funktion angewendet wird, einzuschränken. Wenn Sie z.B. die Anzahl der nach Kalifornien versandten Bestellungen anzeigen möchten, setzen Sie die Eigenschaft ControlSource eines Textfelds auf den folgenden Ausdruck:

= DomAnzahl("[Bestell-Nr]"; "Bestellungen"; "[Region] = 'CA'")

kama
20.06.2001, 13:58
Soory
in deinem Steuerelement
muß du ; statt , benutzen!

Werner2
20.06.2001, 14:44
Als erstes werde ich mich also mal outen: Ja, es sind Textfelder in denen wirklich Ja und Nein steht.

Ich lasse das ganze Gruppieren und dann im jeweiligen Fußbereich zählen.

Mit
=Anzahl([Dokumentation fehlerhaft])
zähle ich also Alle Artikel des jeweiligen Lieferanten

In einem zweiten Feld möchte ich nun die "Ja" Felder zählen (wie oben erklärt). Nach diversen Versuchen klappt das nun mit

=Wenn([Dokumentation fehlerhaft]="Ja";[Anzahl];"")

hier aber nur für alle Datensätze, und nicht nur für die gruppierten, obwohl ich dieses Feld im Fußbereich angelegt habe ??????

kama
20.06.2001, 14:59
Das bewirkt doch nur das bei Ja das feld Anzahl (du hast nicht wirklich ein Feld so genannt??)angezeigt wird sonst nix
Dcount ist die richtige Methode!
mit der dudich beschäftigen solltest
Erstelle eine Abfrage die genau das mahct was du willst.
Benutze dann die Founktion ohne Kriterien und trage sie statt der Tabelle ein
Du kannst, wenn es sich um AC97 handel mir die db mal zumailen.

holgii
20.06.2001, 15:03
Hallo Werner,

ich würde das so lösen:

Lieferant: [Lieferant]
Funktion: Gruppieren

Artikel: [Artikel]
Funktion: Gruppieren

Artikelanzahl: 1
Funktion: Gruppieren

davon Doku fehlerhaft: wenn([Dokumentation fehlerhaft]="Ja";1;0)
Funktion: Gruppieren


Im Detailbereich Deines Berichtes machst Du die Steuerelemente "Artikelanzahl" und "davon Doku fehlerhaft" unsichtbar.

Im Gruppenfuß kannst Du dann trotzdem die Summen bilden.

Gruß
holgii

Werner2
20.06.2001, 15:28
Die Lösung scheint nah :-)

Mit
=DomAnzahl("[Dokumentation fehlerhaft]";"Lieferantenbewertung 05-01";"[Dokumentation fehlerhaft]='Ja'")

zählt Access mir zwar alle Ja`s, aber nicht für die Fußzeile wo es drin steht (Gruppierung je Lieferant), sondern über alles.

Dabei zähle ich direkt daneben in einem Feld alle Artikel eines Lieferanten ohne Kriterium mit =Anzahl... und das Ergebnis ist richtig ???

kama
20.06.2001, 15:48
Eben
die Grupierung läuft ja schon über ja (nehm ich an)
Dcount würde auch klappen wenn du statt der Tabelle eine Abfrage zugrunde legst die dien Bedingungen enthält
Aber ich denke jetzt kommst du alleine weiter!

PS die ONLINE HILFE ist wirklich gut, manchmal muß man nur etwas länger suchen.