Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Aloster am Dezember 02, 2011, 13:39:18

Titel: Anzahl von mehrfach vorkommenden gleichen Werten in einer Tabellenzelle auslesen
Beitrag von: Aloster am Dezember 02, 2011, 13:39:18
Access 2007

Ich habe eine Tabelle XY mit einer Spalte "Werte" mit folgendem Text-Inhalt (7 Zeilen):

10;10;10
10;7;10
7;7
7;7;7
8;7;8;10
8;8
8

Wie kann ich eine Abfrage über die Tabelle XY erstellen, die mir die Anzahl z.B. aller "10" innerhalb einer Zelle sowohl als auch über die gesamte Tabelle ausliest? In dem Beispiel wären es 6 x "10" (und 7 x "7", 5 x "8".


Titel: Re: Anzahl von mehrfach vorkommenden gleichen Werten in einer Tabellenzelle auslesen
Beitrag von: Hondo am Dezember 02, 2011, 21:15:27
Hallo,
per Abfrage ist das nicht möglich.
Aber per VBA-Recordset das durchlaufen wird, und in jedem Durchgang die Anzahl der 10 aufsummiert. Ist aber etwas aufwendiger als eine Abfrage.

Gruß Andreas

Dim db As DAO.Database
Dim rs AS DAO.Recordset
Dim Anzahl10 As Long
Dim i AS long
Dim arr1 AS Variant

set db = Currentdb
set rs = db.openRecordset("TabelleXY",dbopendynaset)
Do While not rs.eof
   arr1  = split(rs!Werte,";")
   For i = lbound(arr1) to ubound(arr1)
       if arr1(i) = 10 then Anzahl10 = Anzahl10 + 1
   Next i
   rs.moveNext
loop
rs.close
set db = Nothing
msgbox Anzahl10
Titel: Re: Anzahl von mehrfach vorkommenden gleichen Werten in einer Tabellenzelle auslesen
Beitrag von: database am Dezember 02, 2011, 21:23:17
Hallo,

da Hondo in seiner Antwort ja bereits einen gangbaren Weg zur Lösung des Problems vorgestellt hat, bleibt mir 'nur' das zu Grunde liegende Datenmodell zu hinterfragen.
Die Speicherung von unterschiedlichen Werten in ein und der selben Spalte eines Datensatzes widerspricht den Normalisierungsregeln!

Siehe dazu auch: http://www.dbwiki.net/wiki/Access_Anf%C3%A4nger:_Grundlagen_des_Datenbank-Designs (http://www.dbwiki.net/wiki/Access_Anf%C3%A4nger:_Grundlagen_des_Datenbank-Designs)