PDA

Vollständige Version anzeigen : Zählenwenn in Access?!?!


daylifecom
10.08.2004, 06:18
Hallo zusammen,

also ich bin ein echter Access anfänger... also immer schön langsam. ;)

Ich habe in Access eine Verwaltung entwickelt die Auszubildende Verwalten soll. Darunter ist auch eine Schichtenführung. Nun habe ich eine Tabelle die so aufgebaut ist, dass dort 31 Felder für die Tage sind und dann Noch das Feld Monat und Jahr sowie die Personalnummer des Azubis. Ich kann jetzt in die 31 Tage jeweils eintragen:

K für Krank
L Lernschicht (Schule)
I Betriebliche Schicht
usw.

Jetzt brauche ich davon eine Auswertung in einer Abfrage

Also muss Access zählen wieviele K's ein Datensatz enthält, wieviele L's usw. wie kann ich das Realisieren. Ich weiß, dass es kein Zählenwenn in MS Access gibt... Habe auch schon gedacht das mit Summen und Wenns zu kombinieren aber das ist sehr umständlich geht das nicht einfacher?

MfG
Patrick

Knee
10.08.2004, 07:01
Hallo Patrick,

es gibt in SQL die Count-Eigenschaft. Diese zählt alle Datensätze das Kriterium erfüllen.

Bsp:
Select Count(*) from Tabelle
where Suchspalte = [Kriterium]

Die eckigen Klammern in der wehere Klausel bewirken, dass eine Parameterabfrage gestartet wird, in der der User seine Suchparameter eingeben muss. (k oder l)

softwaria
10.08.2004, 07:04
Hallo daylifecom,

uiuiui was Du da vorhast ist aber nicht so direkt was für Access vielmehr für Excel, da Du eigentlich eine Kalkulation vornimmst. Die von Dir beschriebene Tabelle entspricht so mit Sicherheit nicht den Normalisierungsregeln (jede Menge Artikel dazu durch googeln im Netz zu finden) und den Anforderungen an ein Datenbankgerechtes Design.

Für eine Datenbank wäre es etwas, wenn Du die Tabelle nach folgendem Schema aufbauen würdest:

[Personalnummer]; [Datum]; [Anwesenheitsart(K,L usw.)]. Anschließend kannst Du Abfragen erstellen, die die Funktion "Anzahl" benutzt und in Kombination mit div. Filtern auf K,L usw beschränken. Die Darstellung, die Du wahrscheinlich wünscht (31 Tage in Spalten nebeneinander), würde ich dann in Excel über die dort enthaltenen Pivot-Funktionen realisieren, da die in ACCESS enthaltenen Pivot-Funktionen bei den Darstellungsmöglichkeiten nicht ganz so flexibel sind. Mit etwas Know-How ist es jedoch auch in ACCESS über Bericht ganz ansehnlich hinzubekommen.

daylifecom
10.08.2004, 07:37
Mein Problem ist, das wir das Momentan mit Excel machen, aber das ist eine heiden Arbeit und völlig unübersichtlich. Vor allem soll absofort nur noch alles über Access geregelt werden. Also nicht nur die Schichtenführung sondern auch die Berichtsführung, Urlaub, Einsatzplan usw. und das ist mit Access einfach übersichtlicher.

Also ich habe ja schon die Übersicht hinbekommen. Das Problem ist ja nur noch das Auszählen, damit eine Statistik daraus gezogen werden kann. Es sieht alles ganz super aus.

Select Count(*) from Tabelle
where Suchspalte = [Kriterium]

das ist ja schön und gut, aber was kommt unter Suchspalte??? Ich habe ja mehrere (01-31) kann ich die durch ein Komma trennen?

khs-hh
10.08.2004, 08:00
ist schon so, wie auch softwaria sagte:

Das Datenmodell ist so wie Du es beschreibst nicht besonders günstig, eigentlich völlig ungeeignet.

Wenn man von Excel kommt hat man wohl die falsche Brille auf. Eine relationale Datenbank ist eben etwas ganz anderes.

daylifecom
11.08.2004, 09:01
Also ist es am besten die Schichtenführung bei Excel zu belassen, oder??
:bawling: Trotzdem Danke...
----------