Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Ideen für DB-Entwurf gesucht - Zeitraum-Darstellung

Begonnen von ReginaR, Dezember 01, 2011, 16:50:16

⏪ vorheriges - nächstes ⏩

ReginaR

Hallo zusammen,

ich arbeite zurzeit an einem DB-Entwurf, mit dem ich noch nicht so ganz zu Rande komme.

Rahmenbedingungen:
Es sollen Planungsdaten für diverse Regionen in diversen Ländern erfasst und ausgewertet werden. Dazu sollen die Kalenderwochen der Planung gespeichert werden. Zu jeder Region gibt es noch diverse Planungsdetails. Bis hier her komme ich eigentlich noch klar.

Jetzt kommen allerdings die Anforderungen an die Darstellung. Es sollen die Planungsdaten quasi auf einem "Zeitstrahl" dargestellt werden. D.h. in der Horizontalen die Kalenderwochen, in der Vertikalen die Länder und dann zu jedem Land und jeder KW die Planungsdaten. Ich habe noch keine gute Idee, wie ich das Formular generieren soll, denn die Anzahl der KWs wächst ja ständig und es soll vor- und zurückgeblättert werden können.

Ich wäre für jeden kreativen Vorschlag dankbar. VBA ist kein Problem.

Danke schon mal im Voraus.

Guß
Regina

DF6GL

Hallo,

naja, so einfach ist das nicht mit zwei Zeilen Code umzusetzen...


Google mal nach "Access Belegungsplan"...  Da findest Du ein paar Realisierungen/vorschläge...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ReginaR

Hallo,

dass die Nummer nicht ganz so simpel ist, ist mir schon klar. Ich habe auch schon mit Tabellen rumgespielt, die ich durch VBA-Code erst erstellt habe und in die ich die vorhandene KWs als Felder angelgt und befüllt habe. Das klappt auch gut, aber eine Tabelle hat ja nur max 255 Felder und ich muss mindestens 6 Monate darstellen können mit 30 Planungsdetails pro KW ...

Danke aber für den Google-Tipp, ich werde mich da mal durchwühlen.

Gruß
Regina

MzKlMu

#3
Hallo,
ZitatIch habe auch schon mit Tabellen rumgespielt, die ich durch VBA-Code erst erstellt habe und in die ich die vorhandene KWs als Felder angelgt und befüllt habe.
Das ist bereits der erste grundsätzliche Fehler und solltest Du am besten gleich wieder vergessen. In einer DB muss man keine Tabellen per VBA anlegen. Die Tabelle wird von Hand angelegt und es sollte niemals erforderlich sein die Tabelle zu ändern (wenn die Entwicklung der DB fertig ist).
Die KWs dürfen nicht als Felder angelegt werden, sondern als Datensätze mit einem Bezug zur Region und Planungsdetail.
Die Tabelle für die Planzahlen hat somit auf immer und ewig 5 Felder:

ID (Primärschlüssel)
Fremdschlüssel zur Regiopn
KW (im Format JJJJWW)
Fremdschlüssel zum Planungsdetail
Planzahl

Es könnte sein, dass die 30 Planungsdetails als Felder in diese Tabelle müssen, das hängt von diesen Details ab, aber dann sind (und bleiben es) nur 33 Felder.

Also so:
ID (Primärschlüssel)
Fremdschlüssel zur Regiopn
KW (im Format JJJJWW)
Planungsdetail1
Planungsdetail2
Planungsdetail3
..
Planungsdetail30

Das hängt aber davon ab, was die Planungsdetail sind. Sind immer alle 30 Planungsdetails erfasst, oder fehlen da auch welche?

Du solltest Dich mit den Grundlagen zum Aufbau relationaler Datenbanken beschäftiegn, sonst bist Du (so wie jetzt) schnell in einer Sackgasse gelandet.

Und befreie Dich von jediglicher Exceldenkweise. Access ist mit Excel auch nicht ansatzweise vergelichbar.


Gruß Klaus

Beaker s.a.

Hallo MzKlMu,

Frage:

ZitatID (Primärschlüssel)
Fremdschlüssel zur Regiopn
KW (im Format JJJJWW)
Planungsdetail1
Planungsdetail2
Planungsdetail3
..
Planungsdetail30

Hat das mit der Anforderung der Zeitstrahldarstellung zu tun, dass Du das in diesem Falle so vorschlägst, wo wir es nach Normalisierungsregeln doch eher in einer zusätzl. Tabelle speichern?

Für Aufklärung dankbar.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

ReginaR

Hallo MzKlMu,

ich stimme dir da ja in allen Punkten zu und mit dem Aufbau relationaler Datenbank bin ich durchaus vetraut. Ich habe nur das Umsetzungsproblem, dass ich bei Speicherung der KWs als Felder in einer Tabelle, keine Idee habe, wie ich den zeitlichen Verlauf in der Horizontalen darstellen kann.

Dass Acces grundlegend anderen Prinzipien unterliegt als Excel ist mir auch klar, allerdings ist es wie so oft so, dass die Planung zunächst in Excel begonnen wurde, bis jemandem auffiel, dass das nicht wirklich sinnstiftend ist. Jetzt ist natürlich das Ziel, an die Darstellung der Ecxcl-Tabllen so nah wie möglich ranzukommen.

Gruß
Regina

MzKlMu

#6
Hallo,
@ekkehard
ich würde nie die Normalisierung aus den Augen verlieren und es sollte auch das erste Bestreben sein, eine DB normalisert aufzubauen.
Aber um da Vorschläge machen zu können, bedarf es der Erläuterung was in den Planungsdetails erfasst wird. Wenn Du z.B.
Stundenbedarf
Strombedarf
Wasserbedarf
etc.
in jedem Datensatz immer erfasst wird, muss hier keine extra Tabelle gemacht werden.
Wenn je Datensatz nur Teile der 30 Planungsdetails erfasst werden sind weiter Tabellen notwendig.
Daher ja meine gezielten Hinweise und Fragen:
ZitatEs könnte sein, dass die 30 Planungsdetails als Felder in diese Tabelle müssen, das hängt von diesen Details ab,
..
Das hängt aber davon ab, was die Planungsdetail sind. Sind immer alle 30 Planungsdetails erfasst, oder fehlen da auch welche?
Ich sprach ja von "könnte" und "hängt ab".
Und in meiner Antwort gab es ja 2 Vorschläge.

Aber Regina gab jetzt in Ihrer Antwort keine Hinweise dazu.

@Regina
Zitatdass ich bei Speicherung der KWs als Felder in einer Tabelle, keine Idee habe, wie ich den zeitlichen Verlauf in der Horizontalen darstellen kann.
Die KWs sollst Du ja gerade nicht als Felder anlegen, sondern als Feldinhalt eines Feldes. Mit zunehmender KW Zahl verlängert sich die Tabelle nach unten und nicht in der Breite.
Eine horizontale Darstellung erreichst Du mit einer Kreuztabellenabfrage, mit der Du die KWs horizontal und die Planungsdetail vertikal anordnen kannst. Mit einem normaliserten Aufbau kannst Du die  Datensätze auch viel, viel besser auf Zeiträume einschränken, was mit Deinem jetzigen geplanten Aufbau fast unmöglich bzw. mit hohem Aufwand verbunden ist. Aber auch mit einer Kreuztabellenabfrage kommst Du an 255 Spalten nicht vorbei. Eine Einschränkung des darzustellenden Zeitraum wird also wahrscheinlich sowieso erforderlich sein. Und das stelle Dir mal mit den KWs in Feldern (horizontal) vor.

Lasse bitte Excel in Deinen Überlegungen vollkommen außen vor, egal wie die Gestaltung war.
Die DB solltest Du ausschließlich nach relationalen Gesichtspunkten aufbauen, Die Darstellung der Daten erfolgt danach und wird mit Abfragen in die gewünschte Form gebracht. Alles andere führt in eine Sackgasse.
Und wenn die Notwendigkeit besteht, eine Tabelle per VBA erstellen zu müssen, bzw. die Felder zu erweitern ist das Datenmodell mit hoher Wahrscheinlichkeit sowieso falsch.

Für weitere Ratschlaäge sind wie bereits geäußert weitere Infos zu den Planungsdetails erforderlich.
Gruß Klaus

Beaker s.a.

Hallo MzKlMu,

ZitatIch sprach ja von "könnte" und "hängt ab".

Erwischt  ;D

ZitatLasse bitte Excel in Deinen Überlegungen vollkommen außen vor, egal wie die Gestaltung war.
Dazu die Signatur eines Regulars (Name ist mir leider entfallen) aus einer Access-Newsgroup
ZitatMit Access arbeite ich nicht, das ist doch nur ein abgespecktes Excel
;D

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)