Discussion:
Dcount: Datensätze zählen ohne Dubletten
(zu alt für eine Antwort)
Wolfgang Schillai
2004-09-15 12:51:59 UTC
Permalink
Weiß jemand, wie man die Anzahl von Datensätzen einer Auswahlabfrage
ohne Dubletten mit Dcount ermitteln kann, so daß z.B. Datensätze mit
identischen Feldinhalten nur einfach statt mehrfach gezählt werden?
Dieses Kriterium müßte sich doch in der Dcount-Syntax irgend wie
definieren lassen:
DCount("Feldname", "Abfragetabelle" [,Kriterium: "ohne doppelte
Feldeeintragungen"])

Was muß im Klammeraustruck stehen?
Michael Alexander
2004-09-15 13:18:27 UTC
Permalink
Hallo Wolfgang!

Die Dubletten vermeiden mußt du bereits in der Abfrage durch z.B.
Gruppierung oder Abfrageeigenschaften>Keine Duplikate>Ja.

Gruß
Michael
Post by Wolfgang Schillai
Weiß jemand, wie man die Anzahl von Datensätzen einer Auswahlabfrage
ohne Dubletten mit Dcount ermitteln kann, so daß z.B. Datensätze mit
identischen Feldinhalten nur einfach statt mehrfach gezählt werden?
Dieses Kriterium müßte sich doch in der Dcount-Syntax irgend wie
DCount("Feldname", "Abfragetabelle" [,Kriterium: "ohne doppelte
Feldeeintragungen"])
Was muß im Klammeraustruck stehen?
Wolfgang Schillai
2004-09-16 08:59:45 UTC
Permalink
Post by Michael Alexander
Hallo Wolfgang!
Die Dubletten vermeiden mußt du bereits in der Abfrage durch z.B.
Gruppierung oder Abfrageeigenschaften>Keine Duplikate>Ja.
Gruß
Michael
Hallo Michael,

es sind nicht die kompletten Datensätze, die in der Abfrage doppelt
vorkommen, sondern nur bestimmte Feldinhalte. Ich möchte die Anzahl
der Feldinhalte eine Feldes aus der Abfrage ermitteln, ohne die
doppelten Inhalte mitzuzählen, etwa wie im folgenden Beispiel:

- Die Abfrage ermittelt alle Kunden die ein bestimmtes Produkt zu
einem bestimmten Datum gekauft haben. Ein Feld in einem Formular soll
mir nun aus der Abfrage bestimmen, wie viele verschiedene Produkte
überhaubt verkauft wurden. Mir fällt dazu nur folgender Befehl ein:

DCount("Feldname", "Abfragetabelle" [,Kriterium: "ohne doppelte
Feldeeintragungen"])

Ich kenne nur kein Kriterium (z.B. Where...), daß mir die doppelten
Felder ausschließt.

Gruß Wolfgang
Michael Alexander
2004-09-16 09:51:10 UTC
Permalink
Hallo Wolfgang!
Post by Wolfgang Schillai
Post by Michael Alexander
Hallo Wolfgang!
Die Dubletten vermeiden mußt du bereits in der Abfrage durch z.B.
Gruppierung oder Abfrageeigenschaften>Keine Duplikate>Ja.
Gruß
Michael
Hallo Michael,
es sind nicht die kompletten Datensätze, die in der Abfrage doppelt
vorkommen, sondern nur bestimmte Feldinhalte. Ich möchte die Anzahl
der Feldinhalte eine Feldes aus der Abfrage ermitteln, ohne die
- Die Abfrage ermittelt alle Kunden die ein bestimmtes Produkt zu
einem bestimmten Datum gekauft haben. Ein Feld in einem Formular soll
mir nun aus der Abfrage bestimmen, wie viele verschiedene Produkte
Mir scheint die Definition deiner Anforderung unrichtig zu sein.
"alle Kunden ein bestimmtes Produkt" bedeutet Produkt ist definiert, also
z.B. ein Produkt, zwei, etc. jedenfalls eine von dir definierte Anzahl,
somit kennst du die Anzahl.
Nun willst du aber offensichtlich die Anzahl ALLER überhaupt verkauften
Produkte (Anzahl X) im bestimmten Zeitraum aus der selben Abfrage ermitteln.

Ich würde daher eine eigene Abfrage machen, die die Anzahl der verkauften
Produkte ermittelt, Kriterium ist nur der Zeitraum.

Da das Ergebnis nur eine Zeile sein sollte, mußt du den Inhalt mit
DLookUp("Feldname", "Abfragetabelle") ermitteln, weil das Feld schon die
Anzahl beinhaltet.

Gruß
Michael
Post by Wolfgang Schillai
DCount("Feldname", "Abfragetabelle" [,Kriterium: "ohne doppelte
Feldeeintragungen"])
Ich kenne nur kein Kriterium (z.B. Where...), daß mir die doppelten
Felder ausschließt.
Gruß Wolfgang
Maik Hahmann
2004-09-16 10:01:48 UTC
Permalink
Hallo Michael,

wenn Du schon mit einer Abfrage die Kunden und Produkte
ausgewählt hast, nimm diese doch als Grundlage für eine
neue Abfrage. Dann nur das Produktfeld zweimal aufnehmen
und bei Funktionen das erste Feld auf Gruppierung und das
zweite auf Anzahl stellen.
Dann weisst Du wieviel von jedem Produkt verkauft wurde.
Die Anzahl der datensätze ist die Anzahl unterschiedlicher
Produkte.

Gruß Maik
Michel Fouquet
2004-09-16 10:19:42 UTC
Permalink
Hallo Wolfgang,
Post by Wolfgang Schillai
Post by Michael Alexander
Die Dubletten vermeiden mußt du bereits in der Abfrage durch z.B.
Gruppierung oder Abfrageeigenschaften>Keine Duplikate>Ja.
es sind nicht die kompletten Datensätze, die in der Abfrage doppelt
vorkommen, sondern nur bestimmte Feldinhalte. Ich möchte die Anzahl
der Feldinhalte eine Feldes aus der Abfrage ermitteln, ohne die
zum Verständnis dessen, was Du da im Abfrageentwurf einstellen kannst,
solltest Du Dich in der OH vielleicht nochmal vertiefend mit folgenden
Themen befassen:

UniqueValues-Eigenschaft (KeineDuplikate / DISTINCT)

Sie können die Eigenschaft UniqueValues verwenden, wenn Sie Datensätze
ausschließen möchten, die mehrfach vorkommende Daten in den in der
Datenblattansicht *angezeigten* Feldern enthalten.

UniqueRecords-Eigenschaft (EindeutigeDatensätze / DISTINCTROW)

Mit der Eigenschaft UniqueRecords können Sie angeben, ob nur eindeutige
Datensätze zurückgegeben werden sollen, die auf *allen* Feldern der
zugrunde liegenden Datenquelle basieren, und nicht nur auf den in der
Abfrage vorhandenen Feldern.

mfg,
Michel

Loading...