Jahr-Monat-Tag

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Pedrakan
Beiträge: 5
Registriert: Mo, 16.10.2006 09:07

Jahr-Monat-Tag

Beitrag von Pedrakan »

Hallo,
Für die Kostenstellenabrechnung in unserer Firma soll ich eine Datenbank erstellen. Dafür soll zunächst das Jahr, dann der Monat und schließlich der Tag ausgewählt werden.

Nun habe ich eine Tabelle "Jahr" mit dem Atrribut und Primärschlüssel "Jahreszahl" erstellt und dort die Jahre von 1990 bis 2020 eingegeben (int).
Als nächstes die Tabelle "Monat" mit dem Attribut und Primärschlüssel "Monatsname" und dort die Monate von Januar bis Februar eingetragen.
Nun müssen jedem Jahr die 12 Monate zugeordnet werden.
So wie ich das sehe, müsste ich dafür eine neue Tabelle (bsp. "Zeit") anlegen, in der ich jede "Jahreszahl" 12mal eintrage und dahinter den jeweiligen "Monatsname"... aber das erscheint mir verdammt viel Aufwand.

Gibt es da keinen einfacheren Weg?


Ich schieß gleich noch eins hinterher: Wenn ich nun die Tabelle "Tag" anlege, bräuchte ich ja theoretisch die Wert 1-31 und müsste dann jedem Monat Manuell sagen, wieviele Tage er hat und diese eintragen (sprich: in einer weiteren Tabelle "Tage" 12*30 Zeilen, also ca 360 eintippen)

Gibt es evtl. auch dort eine Möglichkeit mir das ganze einfacher zu gestalten?


vielen Dank im vorraus, Ped
BlackHell
Beiträge: 9
Registriert: So, 19.11.2006 20:49
Kontaktdaten:

Beitrag von BlackHell »

Die Frage die sich mir noch stellt: Für was und wo musst du das Datum eingeben?
Kenn mich mit Kostenstellenabrechnungen nicht so aus.
Trotzdem mal ein Versuch dir zu helfen:

Tabelle: Jahr
Spalte: Jahr (Primärschlüssel / Zahl 4 Stellen / Eingabe erforderlich: Ja)

Tabelle: Monat
Spalte: Monat (Primärschlüssel / Text (varchar) / Eingabe erforderlich: Nein)
Daten: Januar bis Dezember

Tabelle: Tag
Spalte: Tag (Primärschlüssel / Zahl 2 Stellen / Eingabe erforderlich: Nein)
Daten: 01 bis 31

zb: Tabelle: Kostenstellenabrechnung:
Spalte: Jahr ( Zahl 4 Stellen)
Spalte: Monat (Text varchar)
Spalte: Tag (Zahl 2 Stellen)

Relationen:
Tabelle Jahr / Spalte Jahr 1:n Tabelle Kostenstellenabrechnung / Spalte Jahr
Tabelle Monat / Spalte Monat 1:n Tabelle Kostenstellenabrechnung / Spalte Monat
Tabelle Tag / Spalte Tag 1:n Tabelle Kostenstellenabrechnung / Spalte Tag

Somit dürftest du dann keine doppelten Datensätze haben und immer das richtige bzw benötigte Datum auswählen können.
So wie ich deine Ausführung nämlich lesen, hast du die Befürchtung ein und denselben Datensatz mehrmals in der Datenbank zu haben.
Signatur? Signatur? Welche Signatur?
Pedrakan
Beiträge: 5
Registriert: Mo, 16.10.2006 09:07

Beitrag von Pedrakan »

Nunja, fast.
Tabelle Kostenstellenabrechnung müsste ich nach meinem Wissensstand ja selbst befüllen. D.h. jedem Jahr die 12 Monate manuelle zuschreiben, jedem Monat die ~30 Tage manuelle zuschreiben. Ich möchte aber, dass er den Inhalt von Kostenstelle automatisch einfügt.

Im Grunde müsste Kostenstellenabrechnung ja so aussehen (Auszug)

1995 Januar 1
1995 Januar 2
1995 Januar 3
...
1995 Januar 31
1995 Februar 1
1995 Februar 2
1995 Februar 3
...
1995 Dezember 32
1995 Dezember 31
1996 Januar 1

und so weiter bis zum Jahre 2020... und das ist mir, ums alles einzutippen, einfach zuviel Aufwand.

Ich bin über jeden Tipp, jede Idee oder Einfall sehr dankbar!

mfg Ped
BlackHell
Beiträge: 9
Registriert: So, 19.11.2006 20:49
Kontaktdaten:

Beitrag von BlackHell »

Das ist kein Problem. Mit dem, was ich dir schon vorgeschlagen habe, bekommst du das hin.

In einem Formular nämlich, sind so das Jahr, der Monat und der Tag als liste auszuwählen und durch die relationen zueinander steht das dann ungefähr so in deiner tabelle:

Tabelle: Jahr
Primärschlüssel: Jahr
Inhalt Spalte Jahr: 1990 (hat dann intern zB 1)

Tabelle: Monat
Primärschlüssel: Monat
Inhalt Spalte Monat: Februar (hat dann intern zB 2)

Tabelle: Tag
Primärschlüssel: Tag
Inhalt Spalte Tag: 27 (hat dann intern zB 27)

Tabelle: Kostenstellenabrechnung
Inhalt Spalte Jahr: 1
Inhalt Spalte Monat: 2
Inhalt Spalte Tag: 27
entspricht: 1990 Februar 27
dann kommt der Rest der Spalten.
Sehen wirst du dann in den Spalten natürlich nicht die 1, 2 oder 27. Es wird dann tatsächlich auch 1990, Februar und 27 drin stehen.
Signatur? Signatur? Welche Signatur?
Pedrakan
Beiträge: 5
Registriert: Mo, 16.10.2006 09:07

Beitrag von Pedrakan »

Hm... ich verstehe dich nicht ganz. Ich habe jetzt die Tabelle Jahr, Monat und Tag mit den jeweilligen Werten versehen.
Kostenstellenabrechnung ist noch leer.

Um diese zu füllen muss ich jetzt eine Abfrage erstellen? Und wie genau?

Ich bin jetzt in der Entwurfsansicht, habe die 4 Tabellen dort eingefügt, doch jetzt weiß ich ehrlich gesagt nicht weiter...


(Tut mir Leid für mein Unwissen, aber das ist meine erste Datenbank und ich hab schon Luftsprünge gemacht, als ich die Beziehung zwischen den Kostenstellen und den Mitarbeitern hinbekommen hab...)

mfg Ped
BlackHell
Beiträge: 9
Registriert: So, 19.11.2006 20:49
Kontaktdaten:

Beitrag von BlackHell »

Setze die Primärschlüssel der Tabellen Jahr, Monat und Tag noch mit den jeweiligen Spalten in deiner Kostenstellenabrechnungstabelle in Beziehung.
Dafür brauchst du keine Abfrage erstellen. Es reicht ein Formular zu erstellen, welches die Kostenstellenabrechnungstabelle als Grundlage hat.
Es sei denn, du brauchst für die eingabe auch die Mitarbeitertabelle. Dann musst du nach Herstellung der von mir beschriebenen Beziehungen eine abfrage erstellen, die deine benötigten werte von der Kostenstellenabrechnungstabelle und der Mitarbeitertabelle enthällt. Daraus machst du dann das Formular zur Eingabe der Daten.
Signatur? Signatur? Welche Signatur?
Mihilist
****
Beiträge: 120
Registriert: Di, 25.04.2006 15:27
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Mihilist »

Mal eine doofe Frage: Wieso nimmst du nicht einfach ein Datumsfeld?
Antworten