Duplikate in einer Spalte nicht mitzΣhlen

Ich setze seit einiger Zeit Access ein. Leider ist es mir noch nicht gelungen, eine genaue Bestimmung der Anzahl vonEintrΣgen einer Spalte vorzunehmen. Access zΣhlt dabei Duplikate immer mehrfach. Was kann ich tun, um dies zu vermeiden?

TatsΣchlich hat MS-Access selbst in der Version 7.0 noch Probleme damit, Angaben ⁿber die Anzahl unterschiedlicher EintrΣge in einer Spalte zu machen. Das Hauptⁿbel dabei ist die eingeschrΣnkte Verwendungsm÷glichkeit des Schlⁿsselworts DISTINCT. Es lΣ▀t sich lediglich auf die gesamte Abfrage anwenden: (SELECT DISTINCT Count(*) ...). Damit bezieht sich die durch DISTINCT bewirkte Eindeutigkeitsbedingung immer auf den gesamten Datensatz und nicht auf einzelne Felder. Die hier ben÷tigte L÷sung, DISTINCT innerhalb einer Klammer der Anzahl-Anweisung einzusetzen, lΣ▀t Access jedoch nicht zu. Es gibt aber zwei indirekte L÷sungen Ihres Problems.Die erste L÷sung gilt fⁿr Anwender der Access-Version 2.0, da diese Version noch nicht ⁿber die Distinct-Count-Eigenschaft verfⁿgt. ZunΣchst definieren Sie eine Abfrage mit einer Gruppierung ⁿber die gewⁿnschte Spalte.Ein Beispiel dafⁿr ist die folgendeeinfache Abfrage:SELECT Tabelle.Feld FROM Tabelle GROUP BY Tabelle.Feld. Dadurch erreichen Sie das Ausblenden der Duplikate auf Feldebene. Speichern Sie diese Abfrage unter einem beliebigen Namen (Abfragename). An der gewⁿnschten Stelle im Code verwenden Sie dann die Funktion DomAnzahl() oder - in englischer Schreibweise - DCount(). Die Funktion kann die Anzahl der DatensΣtze einer Tabelle oder Abfrage ermitteln. Die ben÷tigte Syntax der Funktion sieht folgenderma▀en aus:x = DomAnzahl("[Feld]"; "Abfragename"). Die Variable x enthΣlt spΣter die Anzahl eindeutiger Feldwerte.Der Parameter [Feld] steht fⁿr den Namen des Feldes, das Sie in der Abfrage Abfragename gruppiert haben. Um die Angelegenheit zu beschleunigen, k÷nnen Sie anstelle von [Feld] auch einen Stern (*) einsetzen. Beachten Sie jedoch: Geschwindigkeit hat ihren Preis. Wenn das Feld Nullwerte zulΣ▀t, verfΣlscht sich das Ergebnis, da Access auch eine Gruppe ⁿber Nullwerte bildet. Der Parameter * zΣhlt diese ebenfalls mit.Access-7.0-Anwender k÷nnen die Eigenschaft Distinct-Count verwenden, die die Anzahl der eindeutigen Werte fⁿr ein IndexObjekt einer Tabelle angibt. Sie mⁿssen lediglich einen Index ⁿber die entsprechende Spalte legenund anschlie▀end dessen Distinct-Count-Eigenschaft ausgeben. Um das zu verwirklichen, benutzenSie das Listing der Prozedur,die Sie oben im Bild sehen.Beachten Sie, da▀ das Anlegen von Indizes bei gro▀en Tabellen durchaus eine zeitaufwendige Angelegenheit sein kann. Wenn allerdings bereits ein Index ⁿber die Spalte besteht, k÷nnen Sie seine Distinct-Count-Eigenschaft sofort verwenden.