online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon SteffenOIOIOI vom 07.06.2020, 16:39 Options

Access: Aus Spalten Zeilen genrieren

Hio!

Ich hab ein Problem:

Ich habe eine Tabelle "Planung":

Datum Stelle1 Stelle2 Stelle3
01.01.08 1000 2000 3000
02.01.08 2000 1000 3000

Es handelt sich um eine Personalplanung, zu jeder Stelle gehören feste Arbeitszeiten. Ich möchte aus dieser Tabelle "Planung" folgende Infos bekommen:

Datum Pers.Nr. Stelle ArbeitBegin ArbeitEnde
01.01.08 1000 Stelle1 7:00 14:00
01.01.08 2000 Stelle2 8:00 16:00
.
.usw.

Leider fehlt mir total der Anzatz wie ich das umsetzen kann! Ich habe schon an einen riesen Abfragewuscht gedacht, da es aber um 20 Stellen und 40 Mitarbeiter geht, ist das etwas... unclever.!

Für eine Idee wäre ich super Dankbar!!

Viele Grüße

Steffen


Antwort schreiben

Antwort 1 von lorf vom 09.06.2020, 14:54 Options

Hallo Steffen,
du machst die Tabelle "Plan2" mit den Feldern
Datum    StelleNr PersNr, 
01.01.08 Stelle1   1000
01.01.08 Stelle2   2000
01.01.08 Stelle3   3000
02.01.08 Stelle1   2000
02.01.08 Stelle2   1000
02.01.08 Stelle3   3000


und dazu machst du die Tabelle "Stelle" mit den Feldern StelleNr, Bezeichnung, ArbeitBeginn, ArbeitEnde, Entgelt, Funktion, ...

Beide führst du mit der Abfrage:
SELECT Datum, PersNr, StelleNr, ArbeitBeginn, ArbeitEnde
FROM Plan2, Stelle
WHERE  Plan2.StelleNr=Stelle.StelleNr

zusammen, wobei StelleNr in beiden Tabellen gleichen Typ und gleiche Bezeichnungen enthalten sollten.

oder

du hast also die Tabelle "Planung" mit den Feldern Datum , Stelle1, Stelle2, Stelle3 usw mit PersNr als Inhalt
und "Stelle" wie oben, denn brauchst du für jede Zeile deiner Info eine SELECT-Anweisung, also 20 pro Tag bei 20 Stellen:
SELECT Datum, StelleNr[b]1[/b], "Stelle1",ArbeitBeginn, ArbeitEnde
FROM Planung, Stelle
WHERE  (Planung.StelleNr=1) and (Datum =#01.01.08#)
SELECT Datum, StelleNr2, "Stelle2",ArbeitBeginn, ArbeitEnde
FROM Planung, Stelle
WHERE  (Planung.StelleNr=2) and (Datum =#01.01.08#)

Und an das Datum musst du auch noch denken, weil du Planung mehrmals lesen musst.
Das ist ein totaler Krampf.

Du wirst also nicht umhin kommen, deine Planungstabelle in die Form Datum, StelleNr, PersNr zu bringen.
Dazu kannst du die Daten mit
INSERT INTO Plan2 
SELECT Datum, "[u]StelleNr1[/u]", [u]Stelle1[/u]FROM Planung
INSERT INTO Plan2 
SELECT Datum, "[u]StelleNr2[/u]", [u]Stelle2 [/u]FROM Planung

usw für deine 20 Stellen auslesen und eingefügen.

Weiterführende Literatur unter Stichwort "Normalisierung von Tabellen".

Gruß
lorf

Antwort 2 von SteffenOIOIOI vom 09.06.2020, 17:25 Options

Super Danke für den Hinweis! Ursprünglich wollte ich auch diese Normalisierten tabellen vergleichen. Nur hab ich ein Problem: Die Tabelle "Planung" entstand aus der Forderung, dass mit Hilfe eines Formulars eine Kalenderwoche, oder zumindest ein Tag geplant werden kann.
Also Hat man ein großes Formular mit dem jede Stelle durch eine Combo-Box gefüllt werden kann. Ich denke hier liegt mein Ansatzfehler. Ich wollte quasi hinter das Formular eine Tabelle spannen, in die die Infos alle gehen.
Da ich jetzt so verqueert immer in diesem Schema denke ist es verwirrend schwer dieses Planunginterface mit einer normalisierten Tabelle zu hinterlegen.

Wenn ich den Schritt habe, klappt der Rest glaub ich ganz gut..


Ich hoffe, dass ich mich verständlich ausgedrückt habe..

Schonmal vielen Dank für Hinweise an einen Verwirrten.. :-)

Steffen

Antwort 3 von lorf vom 09.06.2020, 22:11 Options

Hallo Steffen,
schön das wir einer Meinung sind.
Denn muss uns ja nur noch was mit dem Formular einfallen. Da es ein Office- oder Webformular ist, braucht man es eigentlich nur für jeden Tag so oft auslesen, wie Stellen da sind und jeweils Zeile für Zeile in Plan2 schreiben und jeder hat was er braucht.
Tja so könnte es gehen.

Gruß
lorf

Ähnliche Themen

Feste Zeilen/Spalten in Excel
Sebot  05.01.2007 - 305 Hits - 1 Antwort

excel numerische spalten
smd  23.04.2007 - 166 Hits - 1 Antwort

ausgeblendete spalten nicht importieren
morpheus__85  25.07.2007 - 35 Hits - 12 Antworten

Tabelle vergleichen und aktualisiren
Dojackson  22.08.2007 - 70 Hits - 1 Antwort

Zellen kopieren und tiefer einfügen mit Makro
HILFE_Suchende  26.01.2008 - 146 Hits - 7 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026