Forum des VBA-Tutorials

mehrere Zeilen gruppieren + nach mehreren Kriterien abfragen (Access)

Mikado, Mittwoch, 27. September 2017, 19:35 (vor 78 Tagen)

Hallo Forum.
(mein Kenntnisstand Access – „Anfänger“)

Folgendes Problem beschäftigt mich:
Ich habe eine Excel Liste mit folgenden Daten erhalten:
Name, Geb.Dat., Patientennummer, Fallnummer, OPS-Datum, Seite, OPS (Textcode, z.B. 8-842.9 ist ein OP-Schlüssel, beschreibt also eine bestimmte Operation), OPS Version und Seite…..
Patientennummer und Fallnummer sind einmalig vergeben, wobei aber ein Patient mehrere Fallnummern besitzen kann (wenn er in verschiedenen Zeiträumen behandelt wird).

Daraus habe ich folgende Tabellen erstellt:
Tab.1 Primärschlüssel ist Patientennummer.
Patientennummer Geb. Datum Geschlecht
11111111 11.11.1911 W
11111112 22.2.1922 M

Tab.2 verknüpft via Patientennummer mit Tab. 1, 1:n, Primärschlüssel für diese Tabelle ist Fallnummer.
Patentennummer Fallnummer
11111111 1
11111112 3
11111111 2
11111112 4
….


Tab. 3 verknüpft via. Fallnummer mit Tab. 2, 1:n.
Fallnummer OPS-Datum OPS Seite
1 01.01.2016 8-841.0 r
1 02.01.2016 5-385.70 r
2 01.12.2016 8-841.0 r
2 01.12.2016 5-38a.c l
2 01.12.2016 3-607 b
2 12.12.2016 8-841.0 l
2 12.12.2016 5-38a.c l
2 12.12.2016 3-607 l
2 12.12.2016 8-836.0c l


(habe die Tabellen aus einem $21 Datensatz generiert)
Ziel: Bestimmung Anzahl der Kombinationen OPS wie „8-8*“ UND wie „5-38*“ an jeweils gleichem OPS-Datum und bei gleicher Seite. Bei Seite „b“ (= bds. müssten 2 Ausgaben erfolgen)

Also sollte sich dabei aus o.g. Tabellen folgendes ergeben:
Fallnummer OPS-Datum Seite
2 12.12.2016 l


Anschließend müsste ich nur noch die Anzahl der Fallnummern ermitteln.
Ich müsste also einen Algorithmus finden der die Tabelle 3 gruppenweise, bezogen auf die Fallnummer und des Datums sowie der Seite durchsucht und klärt ob 8-8* und 5-38* in einer der Zeilen im Feld OPS vorhanden ist.
Leider ist mir im Moment überhaupt nicht ersichtlich, wie ich eine solche Abfrage (eigentlich ja nur aus Tabelle 3) erstellen könnte.
Eine Internet-Recherche als auch der Blick in mein Buch hat mich nicht weiter gebracht, da mir die passenden Termini nicht bekannt sind.....
Es wäre schön wenn mir jemand mit einem Lösungsansatz weiter helfen könnte.

Gruß und Danke im Voraus
Mikado

mehrere Zeilen gruppieren + nach mehreren Kriterien abfragen

Martin Asal, Donnerstag, 28. September 2017, 08:42 (vor 78 Tagen) @ Mikado

Hallo Mikado,

zunächst mal ist deine Datenbank grottenschlecht normalisiert. Sorry. Aber so wirst du schnell Probleme bei sämtlichen Auswertungen bekommen, die du dir vornehmen wirst.

Wenn du z.B. das Feld "OPS" immer nach Teilstrings durchsuchen musst, zeigt das, dass dieses Feld nicht korrekt atomatisiert ist. Einfacher ausgedrückt: Dieses Feld muss wahrscheinlich in mehrere Felder zerlegt werden, mit weiteren Verknüpfungen. Inhaltlich kannst natürlich nur du das beurteilen.

Auch das Feld "Seite" wird dir noch viele Probleme machen: Ich nehme an, "l" ist links, "r" rechts, und "b" beide. Nun willst du immer dann, wenn da ein "b" steht, nicht einen, sondern zwei Datensätze haben. Das wirst du nur mit einem irren Aufwand hinbekommen. Statt dessen sollte es gleich zwei Datensätze geben; einen "l" und einen "r" (und wahrscheinlich würde ich dann sogar aus dem Text- ein Ja/Nein-Feld machen).

Die eigentliche Lösung deiner Detailfrage geht jedenfalls über Gruppierungen. Und mit OPS wie "8-8*" ODER wie "5-38*", dann lässt du die Anzahl von, sagen wir mal, Datum, ausgeben, wo die Anzahl größer 1 ist.

Aber vor dieser Lösung steht erst mal eine vernünftige Normalisierung. Sonst kommst du nicht wirklich weiter.

Martin

mehrere Zeilen gruppieren + nach mehreren Kriterien abfragen

Mikado, Donnerstag, 28. September 2017, 17:12 (vor 78 Tagen) @ Martin Asal

Hallo Martin,
danke für die rasche Antwort.
Die ganzen Daten stehen in einem einzigen Excel file (tausende Zeilen). Ich habe schon einige Arbeit in die rudimentäre Normalisierung gesteckt, aber dann habe ich noch etwas vor mir. Ich bin mir noch nicht ganz sicher, wie ich das alles dann verknüpfen kann. Aber mit Unterstützung meines Buches werde ich das wohl schaffen.

Und über den Begriff "Gruppierung" werde ich dann vielleicht ebenfalls noch fündig.
Aber erst mal werde ich Deine Empfehlung hinsichtlich Normalisierung aufnehmen....

Nochmals Danke.
Mikado

RSS-Feed dieser Diskussion
powered by my little forum