Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Ljey am März 04, 2015, 18:47:22

Titel: Datumszeitraum in einer Kreuztabelle
Beitrag von: Ljey am März 04, 2015, 18:47:22
Hallo,

ich habe eine Kreuztabelle erstellt und der Sinn ist es, alle Mitarbeiter an zu zeigen, welche an Projekten pro Monat gearbeitet haben.

Demnach ist die Kreuztabelle wie folgt aufgebaut:
die Spaltenüberschrift ist im Format jjjj/mm.
Zeilenüberschrift ist Projektname und Personalname
Wert ist zu wie viel Prozent die Person in diesem Monat auf dem Projekt war (z.B. 50%)

Mein Problem ist, ich habe als Ausgangspunkt nur die Zeiträume und nicht die einzelnen Monat(z.B. 1.1.2011 - 31.3.2011). Wie schaffe ich es also, dass der Wert 50% immer auftaucht wenn innerhalb des Zeitraums ist.

Vielen Dank schonmal für die Hilfe! Bei Fragen einfach melden.
Titel: Re: Datumszeitraum in einer Kreuztabelle
Beitrag von: HB9876 am März 05, 2015, 01:47:34
Hi,
so ganz verstehe ich deine Frage nicht.
Aber vielleicht hilft dir das was ich verstehe ja auch weiter.

Zitatich habe eine Kreuztabelle erstellt und der Sinn ist es, alle Mitarbeiter an zu zeigen, welche an Projekten pro Monat gearbeitet haben
Warum eine Kreuztabelle?
Ich wuerde mir hier eine Abfrage erstellen und darauf einen Report oder Formular aufsetzen.
In diesem kann man dann mit DateDiff den erforderlichen Wert berechnen (kann auch in die Abfrage eingebaut werden).

ZitatWie schaffe ich es also, dass der Wert 50% immer auftaucht wenn innerhalb des Zeitraums ist
Das verstehe ich nun gar nicht, warum immer 50%?
Das muesste doch ein berechneter Wert sein.
Worauf soll der sich beziehen:
- Arbeitstage (sollen hier freie Tage einbezogen werden)
- Projekttage
- Tage im Zeitraum

Dazu solltest du dir Gedanken machen, erfordert wahrscheinlich mind. eine zusaetzliche Tabelle.

Titel: Re: Datumszeitraum in einer Kreuztabelle
Beitrag von: MaggieMay am März 05, 2015, 11:02:29
Hallo,

du kannst das wohl nur mit Hilfe einer zusätzlichen Tabelle, welche die Monate (Jahr+Monat) enthält erreichen. Diese bindest du zusammen mit deiner Datentabelle in eine Abfrage ein.
Titel: Re: Datumszeitraum in einer Kreuztabelle
Beitrag von: Ljey am März 05, 2015, 19:00:16
Hallo, ja ich habe mir schon gedacht, dass ich hierbei eine zusätzliche Tabelle erstellen muss.

Gibt es denn eine Möglichkeit wenn ein Mitarbeiter zu z.B. 40% auf Projekt A ist, im Zeitraum von 1.1.2011 - 31.3.2011, sich eine Tabelle automatisch generiert die wie folgt aussieht:

Projekt A | 40% | 2011/01
Projekt A | 40% | 2011/02
Projekt A | 40% | 2011/03

Denn alles per Hand einzutragen ist bei der Menge an Daten nicht realistisch.

Danke schon mal.
Titel: Re: Datumszeitraum in einer Kreuztabelle
Beitrag von: MaggieMay am März 05, 2015, 22:08:17
Was du zeigst wäre das Ergebnis einer Abfrage, wenn es denn eine Tabelle gibt, die lediglich die Vergleichsdaten (bspw. ein Datum im Format yyyymm) enthält.
Titel: Re: Datumszeitraum in einer Kreuztabelle
Beitrag von: Ljey am März 06, 2015, 12:32:11
Ja, eine Abfrage ist auch ok, aber wie komme ich eben von zwei Daten (von und bis) auf die einzelnen Monate welche sich dazwischen befinden. NICHT Datdif, sondern jeden Monat einzeln aufzählen.

Danke schon mal.
Titel: Re: Datumszeitraum in einer Kreuztabelle
Beitrag von: MaggieMay am März 06, 2015, 16:00:47
Hi,

erstelle eine Hilfstabelle "t_kalender_mon" mit den Spalten "k_jahr" und "k_mon" und fülle diese mit den Jahres- und Monatszahlen des auszuwertenden Zeitraums, dann kannst du mit folgender Abfrage die Projektzeiträume den Monaten zuordnen.

SELECT t_kalender_mon.*, t_mitarbeiter_projekte.Mitarbeiter, t_mitarbeiter_projekte.Projekt
FROM t_kalender_mon, t_mitarbeiter_projekte
WHERE DateSerial(k_jahr,k_mon,1) Between t_mitarbeiter_projekte.dvon AND t_mitarbeiter_projekte.dbis;


Auf Basis dieser Abfrage kannst du dann eine Kreuztabellenabfrage erstellen.
Für eine vollständige Jahresübersicht kannst du fixierte Spaltenüberschriften einsetzen.