Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: PePan am Juni 09, 2014, 14:37:27

Titel: zählen über mehrere Tabellen
Beitrag von: PePan am Juni 09, 2014, 14:37:27
Hallo zusammen,
ich habe 12 Tabellen, Januar bis Dezember, in denen ich den Urlaub, Krank usw. der Kollegen eintrage. Jede Tabelle beinhaltet die Pers.Nr als Primärschlüssel.
Jetzt würde ich gerne alle eingetragenen  "u"  für Urlaub über das ganze Jahr je PersNr. zählen.
Ich habe kein Ahnung wie ich das hinbekomme.
Kann mir jemand helfen?

Gruss
PePan
Titel: Re: zählen über mehrere Tabellen
Beitrag von: MzKlMu am Juni 09, 2014, 14:48:44
Hallo,
das erste Problem sind die 12 Tabellen. Das gehört alles in eine Tabelle. Da Du ohnehin die PersNr als PS hast, verstehe ich sowieso nicht warum Du da 12 Tabellen verwenden willst. Das nächste Jahr hat ja auch wieder 12 Monate, machst du dann eine neue DB?

Trage in einer Tabelle das Datum, die PersNr als Fremdschlüssel und die Art der Abwesenheit ein, dann kannst du auch problemlos zählen. Auch eine monatsweise Darstellung ist dann möglich. Das Datum reicht zur Ermittlung des Jahres bzw., des Monats.
Titel: Re: zählen über mehrere Tabellen
Beitrag von: PePan am Juni 09, 2014, 15:04:06
Hallo MzKlMu,
danke für die Antwort, aber ich habe nunmal mit den 12 Tabellen gestartet und würde wenn das Jahr zuende ist, alle einträge löschen und neu starten. So habe ich das ganze Jahr je Kollege in der Ansicht.
Aber wie kann ich die "u" zählen?

Gruss
PePan
Titel: Re: zählen über mehrere Tabellen
Beitrag von: MzKlMu am Juni 09, 2014, 15:14:56
Hallo,
sorry, aber die Aufteilung auf 12 Tabellen ist datentechnischer Unsinn, das Dir nur Probleme macht.
Du musst bei deiner Version erst mit einer Unionabfrage aus den 12 Tabellen eine machen, dann kannst Du zählen. Warum dann nicht gleich eine Tabelle?

Access ist kein Excel und eine Datenbank erfordert zur Auswertung einen korrekten Aufbau. Dein Aufbau verstößt bereits gegen die 1.Normalform.


ZitatSo habe ich das ganze Jahr je Kollege in der Ansicht.
das kannst Du auch mit einer Tabelle.

Baue die DB um, alles andere bereitet Dir nur Probleme.
Titel: Re: zählen über mehrere Tabellen
Beitrag von: ebs17 am Juni 09, 2014, 15:15:31
ZitatJetzt würde ich gerne alle eingetragenen  "u"  für Urlaub über das ganze Jahr je PersNr. zählen.
Ich habe kein Ahnung wie ich das hinbekomme.
Wie würde man das denn per Hand machen?
Programmierung geht genau so: Gesunder Menschenverstand => Plan => Umsetzung per Anweisungen
SELECT Count(*) AS U_Anzahl
FROM TabelleX
WHERE FeldY = "u"
GROUP BY PersNr

Bei vernünftigerweise einer Tabelle wärst Du jetzt fertig.
Titel: Re: zählen über mehrere Tabellen
Beitrag von: MzKlMu am Juni 09, 2014, 15:19:49
Hallo,
nur damit keine Missverständnisse aufkommen, der Vorschlag von Eberhard bezieht sich auf eine Tabelle. Wollte es nur noch mal explizit erwähnt haben.
Titel: Re: zählen über mehrere Tabellen
Beitrag von: PePan am Juni 09, 2014, 15:28:43
Hallo zusammen,
anscheinend habe ich ein Brett vor dem Kopf.
Natürlich habe ich beim Start der Db mit einer Tabelle begonnen und kam aber schnelle an die Grenze von 255 Felder. Das Jahr hat aber mehr. So ging ich hin und legte für jeden Monat eine Tabelle mit 31 Tagen an.
Wer kann das Brett entfernen? :-\
Titel: Re: zählen über mehrere Tabellen
Beitrag von: ebs17 am Juni 09, 2014, 15:39:10
In einer Datenbank arbeitet man zeilenorientiert, also jeder Tag ein neuer Datensatz. Eine Datenbanktabelle kann sehr viele Datensätze aufnehmen - Begrenzung alleine durch DB-Größe, bei MDB/ACCDB 2 GigaByte.

Übrigens ist eine Tabelle zum Speichern für Informationen da, nicht zum Angucken für einen User.
Titel: Re: zählen über mehrere Tabellen
Beitrag von: MzKlMu am Juni 09, 2014, 15:39:49
Hallo,
Du benötigst in der einfachsten Form eine Tabelle mit 4 Feldern. Mehr braucht es nicht.

- Autowert (Primärschlüssel)
- PersNr (Fremdschlüssel)
- Datum
- Abwesenheitsart (u, k, etc.)

Die Tabelle wird einfach endlos fortgeführt, bis zum St.Nimmerleinstag.
Auf diese Tabelle kannst Du die Abfrage wie von Eberhard vorgeschlagen direkt verwenden. Du musst nur noch das Jahr filtern.

Idealerweise legt man für die Abwesenheitsart auch noch eine Tabelle an und verwendet nicht den Buchstaben, sondern die Schlüsselzahl (=Fremdschlüssel).
Titel: Re: zählen über mehrere Tabellen
Beitrag von: PePan am Juni 09, 2014, 15:50:15
Hallo zusammen,
ich hänge euch mal den Versuch der Db als Datei an.
Ich  finde keinen anderen Weg.
Titel: Re: zählen über mehrere Tabellen
Beitrag von: MzKlMu am Juni 09, 2014, 15:54:39
Hallo,
was hast Du den an meiner Tabellenbeschreibung mit den 4 Feldern nicht verstanden?

Ich habe leider kein Access2010.
Entweder konvertieren (Datei > veröffentlichen > Access2003),
oder warten bis jemand anders schaut.
Titel: Re: zählen über mehrere Tabellen
Beitrag von: PePan am Juni 09, 2014, 16:19:23
Hallo MzKlMu,

hier mal ne Hardcopy, das mit dem konvertieren funktioniert nicht wegen einer Sortierung???
Ich bräuchte doch eine Tabelle, die das ganze Jahr darstellt oder?
Titel: Re: zählen über mehrere Tabellen
Beitrag von: MzKlMu am Juni 09, 2014, 16:39:30
Hallo,
nimm die vorgeschlagene Tabelle, die Darstellung ist ein ganz anderer Punkt.
Mit einer Tabelle kannst Du auch die Datenerfassung viel einfacher machen.
> Person wählen > Datum eintragen > Abwesenheitsart wählen

Mit Kreuztabellenabfragen lässt sich dann auch eine andere Darstellung erreichen.

So wie das Formular jetzt ist, kannst Du es nicht verwenden.