Hallo habe eine Frage, da ich von Access selbst noch nicht SO viel Ahnung habe, könnt ihr mir bestimmt weiterhelfen, ob es sich lohnt da einzuarbeiten oder eine andere Softwärelösung zu suchen.
Also nun zum "Projekt"
Ich will ein Formular als Eingabemöglichkeit haben. In diesem Formular sollen Gewisse Personen (Optimal über nen Kombinationsfeld wo alle Namen drin stehen) speziellen fixen Posten zugeordnet werden (z.B. Fahrzeug 1, Fahrzeug 2....). Dieses Formular wird jeden Tag neu erstellt.
Es soll eine weitere Tabelle geben, in der jeden Tag die Daten aus dem Formular "gespeichert" werden, also am Tag X, wurde Fahrzeug 1 von Person Y besetzt. Das Formular ist sozusagen immer ein großer Datensatz, es soll genauso aussehen wie das Eingabeformular.
Dann soll es eine weitere Tabelle geben, wo alle Mitarbeiter drin stehen und man chronologisch sieht welche Fahrzeuge Person Y besetzt hat. Einfach gesagt, sehe ich Person Y und dann eine Liste wo für jeden Tag drin steht welches Fahrzeug er besetzt hatte.
Hoffe man kann einigermaßen erkennen was ich vorhabe
Hallo,
die Sache kannst du relativ einfach gestalten; du brauchst dafür 3 Tabellen:
tblPersonen: PersonID, Vorname, Nachname...
tblFahrzeuge: FahrzeugID, FahrzeugNr, Typ...
tblEinsatz: EinsatzID, FahrzeugID, PersonID, DatumEinsatz...
zu diesen Tabellen kannst du Formulare gestalten:
Formular frmPersonen zur Verwaltung der Personen (löschen neu erfassen, verändern)
Formular frmFahrzeuge zr Verwaltung der Fahrzeuge und
Formular frmEinsätze mit der Tabelle tblEinsatz; hierin können Fahrzeuge und Personen über Kombifelder erfasst werden.
Gruß Oma
Danke erstmal für deine Antwort.
Ich habe das einfach mal zum testen erstellt.
Hab nun folgende Tabellen und Formulare
tbl_Posten (hier sind die Posten_ID und alle Dienstposten erfasst inkl Abkürzungen, z.B. FahrerFahrzeug1, FahrerFahrzeug2)
tbl_Mitarbeiter (hier sind die Mitarbeiter_ID und alle Mitarbeiter mit ein paar weiteren Personenbezogenen Daten erfasst)
tbl_Dienstplan (hier habe ich Posten_ID, Mitarbeiter_ID, Einsatz_ID und EinsatzDatum erstellt.
frm_Diensplan (mit den Felder aus tbl_Dienstplan) über den Formularassistent erstmal
So nun hab ich erstmal folgendes bemerkt. Hab mir ein Kombinationsfeld erstellt worin ich die ganzen Daten aus tbl_Mitarbeiter drin haben will, klappt auch. Nur speichert der das nicht in tbl_Dienstplan, sondern irgendwie im Formular selbst. Sprich ich kann unten nen neuen Datensatz anlegen, dann auch wieder nen anderen Mitarbeiter auswählen im Kombinationsfeld. Nun hab ich ja zwei Datensätze im frm_Dienstplan (sieht man ja unten an der Datensatzleiste, kann auch vor und zurück gehen). Wie schaff ich es nun, dass Access den Mitarbeiter oder Mitarbeiter_ID in tbl_Dienstplan einträgt?
Kann man das frm_Dienstplan irgendwie direkt mit der tbl_Dienstplan verknüpfen?
Muss ich die die Primärschlüssel aus tbl_Posten und tbl_Mitarbeiter noch mit der tbl_Dienstplan verbinden/Beziehung herstellen?!
Diesen Teil von Accessdatenbanken hinterblicke ich irgendwie noch nicht so ganz....
Danke
Hallo,
lasse die Formulare mal beseite, das kommt später. ERst muss das Datenmodell klar sein und das stimmt so noch nicht.
Und wo ist die Tabelle für die Fahrzeuge?
Was beinhaltet die Tabelle "tbl_Posten" ?
Und was kommt in die Felder FahrerFahrzeug1, FahrerFahrzeug2?
Diese Posten Geschichte ist mir noch unklar.
Hab mal ein Bild erstellt, wie ich mir das ca. vorstelle. Hoffe nun ist es ersichtlicher.
Man merkt schon, das es besser ist, wenn man vorher mal ne genaue bildliche Vorstellung hat, dann hat man nen besseren Überblick.
Die tbl_Posten ist wohl irgendwie bischen über, oder falsch.
[Anhang gelöscht durch Administrator]
Hallo,
lasse bitte mal die Formulare beiseite und beantworte meine Fragen.
ZitatUnd wo ist die Tabelle für die Fahrzeuge?
Was beinhaltet die Tabelle "tbl_Posten" ?
Und was kommt in die Felder FahrerFahrzeug1, FahrerFahrzeug2?
Es ist zum jetzigen Zeitpunkt völlig überflüssig Formulare ins Spiel zu bringen. Erst müssen die notwendigen Tabellen und die Beziehungen klar sein.
Womit er recht hat.
Nimm Dein erstes Posting und streiche alle "Formulare" raus und formuliere Dein Anliegen in knappen Sätzen. Daraus ergeben sich dann Tabellen und Beziehungen.
Wenn diese stehen, kannst Du über Formulare nachdenken.
Beispiel: Es gibt Fahrzeuge und es gibt Mitarbeiter. Ein Mitarbeiter kann an einem Tag ein oder mehrere Fahrzeug(e) stundenweise mieten/nutzen etc.
Aus solchen Sätzen ergeben sich dann Tabellen und Beziehungen.
Also her damit ;)
Andreas
Hallo,
für Tabelle tbl_Posten solltest du nach meinen Vorschlag die Tabelle tblFahrzeuge benutzen.
die in deinem Bild eingetragenen Fahrzeuge im Formular müssen auch erfasst werden; also im Formular müssen 2 Kombifelder erstellt werden: für die FahrzeugID
und die PersonenID!
Zitat...klappt auch. Nur speichert der das nicht in tbl_Dienstplan, sondern irgendwie im Formular selbst....
in einem Formular können keine Daten gespeichert werden! Ein Formular ist lediglich eine "Maske" zur "Darstellung/Erfassung" von Daten.
Gespeichert werden die Daten immer in der Datenherkunft des Formulars! Deine Schwierigkeiten liegen vermutlich in der richtigen Verwendung eines Kombinationsfeldes (?)
ZitatKann man das frm_Dienstplan irgendwie direkt mit der tbl_Dienstplan verknüpfen?
Man kann nicht nur, man muss!! Zum Formular gehört eine Datenherkunft, in der die daten gespeichert werden.
ZitatMuss ich die die Primärschlüssel aus tbl_Posten und tbl_Mitarbeiter noch mit der tbl_Dienstplan verbinden/Beziehung herstellen?!
Das solltest du dringend tun; unter Menüpunkt Extras ---> Beziehungen.
ZitatDiesen Teil von Accessdatenbanken hinterblicke ich irgendwie noch nicht so ganz....
dann solltest du dich dringend damit beschäftigen, denn das ist wichtig für deine weitere Entwicklungsarbeit!
Gruß Oma
PS: Nu sagen (schreiben) schon 3 Personen das gleiche ;D
ZitatPS: Nu sagen (schreiben) schon 3 Personen das gleiche
dann muss es ja stimmen :)
Ok dann fang ich nochmal ,hoffentlich besser, von vorne an.
Also das Bild habt ihr inzwischen gesehen.
Ich hab 10 Fahrzeuge, diese Fahrzeuge haben gewisse Posten. Bsp: Fahrzeug1 hat, einen Fahrer, Beifahrer.
Ich habe x Mitarbeiter, die je nach Qualifikation auf die Fahrzeuge verteilt werden. Bsp: Mitarbeiter1 hat einen Führerschein, also darf er auf Fahrzeug 1 den Posten Fahrer einnehmen.
Ich brauch eine Übersicht, wo alle Mitarbeiter und Fahrzeuge eingetragen sind, die man auch ausdrucken kann, damit die Mitarbeiter wissen, welchen Posten auf welchem Fahrzeug sie übernehmen sollen.
Dann noch eine Übersicht, wo ich sehen kann, wieoft Mitarbeiter welchen Posten übernommen haben.
Demnach bräuchte ich ja eine
tbl_Mitarbeiter, wo alle Mitarbeiterbezogenen Daten drin sind, also Mitarbeiter_ID, Name, Nachname, Qualifikationen..... [einmalige Dateneingabe]
tbl_Fahrzeuge, wo alle Fahrzeuge eingetragen sind mit den jeweiligen möglichen Posten [einmalige Dateneingabe]
tbl_Dienstplan, wo nun die tbl_Mitarbeiter und tbl_Fahrzeuge zusammen mit einem Datum verknüpft werden.
Sprich, ich sehen kann, am 02.01.2011 hat Mitarbeiter 1 das Fahrzeug 2 als Fahrer besetzt (super wäre es da noch mit einer Stdangabe, aber erstmal nicht so wichtig). [Tägliche Dateneingabe]
und dann noch eine tbl wo man sehen kann, welche Posten der Fahrzeuge der Mitarbeiter übernommen hat. So wie ne Monatsübersicht.
Oder habt ihr sinnvollere Tabellen, oder überhaupt Ideen wie man das realisieren kann.
Hallo,
es bleibt beim vorgeschlagenen Tabellenaufbau, nur das jetzt der Begriff "Posten" erläutert ist.
Hierzu muss dann noch eine zusätzliche Tabelle erstellt werden:
tblMitarbeiterPosten: PersonID, FahrzeugID, Posten
d.h. zu jeder Person werden die Fahrzeuge und die jeweils möglichen Posten erfasst; falls es mehr Posten als "Fahrer" bzw. "Beifahrer" gibt, ist auch eine Tabelle tblPosten mit PostenID, Posten erforderlich u. in Tabelle tblMitarbeiterPosten wird nur PostenID gespeichert.
Gruß Oma
so hab nu folgende Tabellen erstellt und muss diese noch mit Beziehungen versehen.
(siehe Anhang)
Nur welche mit wem und in welcher Beziehungsform 1:1, 1:n, m:n da fehlt mir noch der Durchblick.
1:1 heißt doch, das ein Datensatz nur einmal in beiden tbl vorkommen kann.
1:n einmal in der linken tabl, unendlich in der rechten
m:n linke, wie rechte, unendlich oft.
Bin mir auch nicht wirklich immer sicher, ob der richtige Primärschlüssel gewählt ist. Schien mir auf den ersten Blick so richtig.
Also alles falsch, oder bin ich auf dem richtigen Weg?
Grüße
So hab mir mal nen Accessbuch bestellt. Denke ist das sinnvollste, damit ich damit klar komme^^
[Anhang gelöscht durch Administrator]
Hallo,
Du hast ja gar keine Beziehungen angelegt ???
ne hab ich noch net. Weil ich net wusste, welche genau ich verbinden muss.
Hab mal was verbunden, aber k.A. ob das so richitg ist.
[Anhang gelöscht durch Administrator]
Hallo,
nein, so wird das nichts. Du kannst zwischen zwei Primärschlüssel keine Beziehung herstellen.
MitarbeiterID in der Tabelle tbl_MitarbeiterPosten als Primärschlüssel ist auch falsch.
Weiterhin, was soll es für einen Sinn machen, die Posten_ID (Primärschlüssel) mit der Fahrzeug_ID (ebenfasl PK) in Beziehung zu setzen?
Aber lassen wir das mal mit den Beziehungen, ich fürchte nämlich, das ganze wird noch viel komplizierter.
Diese Posten sind mir noch nicht klar.
Zitatdiese Fahrzeuge haben gewisse Posten. Bsp: Fahrzeug1 hat, einen Fahrer, Beifahrer.
Heist das dann z.B.
Fahrzeug2: Fahrer, Beifahrer, Rettungsassi
Fahrzeug3: Fahrer, Beifahrer, Rettungsassi, Notarzt
usw.
Das würde aber auch heisen, zu einem Fahrzeug muss man mehrer Posten speichern können.
Und müssen wenn ein Fahrzeug 4 Posten hat, auch diese 4 Posten belegt sein?
Für die Mitarbeiter heist das aber auch, der Fahrrer könnte auch mal Beifahrer sein und umgekehrt (falls Führerschein) ?
Hier muss noch einiges geklärt werden, bevor man mit dem Datenmodell anfängt.
Mhh das kam wohl etwas undeutlich rüber.
Also ein Fahrzeug, in diesem Bsp. ein RTW, hat zwei Posten: Fahrer und Führer, der Führer muss RettAss sein.
Ein anderes Fahrzeug hat vier Posten: Fahrer, Führer und zwei Mallocher.
Alle Posten müssen immer belegt sein. Sofern die Qualifikation vorhanden ist, wechseln alle Posten mit allen Mitarbeiten, also volle Rotation.
Aber das wird ja "irgendwann" über das Formular eingepflegt.
In der tbl_Posten hab ich zu jedem Fahrzeugposten ne ID. Heißt RTW1 Führer = Posten_ID 1, RTW1 Fahrer = Posten_ID 2 etc....
Die Qualifikation, soll sozusagen nur dafür sein, das man die spätere Eingabe vereinfacht, sodass nur die Personen für den Posten angezeigt werden, die die Quali haben, aber das kommt erst ganz am Ende.
Hallo,
ZitatAber das wird ja "irgendwann" über das Formular eingepflegt.
Nein, das muss im Datenmodell berücksichtigt werden.
Wie hast Du Dir das vorgestellt, wenn ein Mitarbeiter mehrere Qualifikationen hat?
Und was sind Mallocher? Was malochen ist weis ich schon aber Malocher ist sicher nicht der übliche Begriff.
Bitte lade mal die DB hier hoch, ich mache Dir dann mal einen Vorschlag. Ich will aber nicht ganz von vorn anfangen.
Und gehe noch mal auf obige Fragen ein.
Wenn ein Mitarbeiter mehrere Qualifikationen hat, entscheide ich selbst, beim eintragen welchen Posten er einnimmt. Soll ja nicht automatisch zugewiesen werden.
Malocher sind in diesem Fall Angriffstruppführer und Angriffstruppmann.
[Anhang gelöscht durch Administrator]
Hallo,
ist der Rettungsassi und der Gruppenführer nicht auch ein Posten?
Oder sind das Personenfunktionen, bzw. wie ist Posten von einer solchen Funktion abgegrenzt?
RettAss btw. Gruppenführer sind keine Posten, sonder Qualifikationen/Vorraussetzungen um einen Fahrzeugposten zu besetzen.
Also RTW1 Führer muss als Vorraussetzung für den Posten, die Quali RettAss haben, der Fahrer nicht. Heißt einer der kein RettAss hat, darf auf RTW1 nur Fahrer sein, aber kein Führer.
Genau so bei Gruppenführer, nur das Gruppenführer, die Vorraussetzung für Führer auf dem HLF und Sonderfahrzeuge ist.
Hallo,
und noch eine wichtige Frage:
Wenn ein Fahrzeug z.B. 4 Besatzungsmitglieder hat, müssen dann nicht alle 4 Personen dem Dienstplan zugeteilt werden?
PS:
Ich muss jetzt weg, morgen geht es weiter, aber bitte die Frage noch beantworten.
Ja das müssen sie.
Sozusagen:
HLF Fahrer:
HLF Führer:
HLF ATführer:
HLF ATmann:
RTW1 Fahrer:
RTW2 Führer:
Danke schonmal im vorraus!!!!
Hallo,
und noch eine Frage:
Zitatsodass nur die Personen für den Posten angezeigt werden, die die Quali haben,
aber dann muss es doch auch eine Beziehung geben, für welchen Posten man welche Qualifikation braucht. Und da wird es dann doch auch so sein, dass für einen Posten auch mehrere Qualifikationen geben kann und umgekehrt. Ist das richtig?
Moin,
also die einzigen Posten wo eine Qualifikation gebraucht wird sind
RTW Führer, NEF Fahrer (RettAss) und HLF/Sonderfahrzeuge Führer (Gruppenführer) die anderen Qualifikationen haben alle Mitarbeiter, sodass diese weg gelassen werden können (wie z.B. Führerschein etc).
Hallo,
aber wenn Du das realisieren willst:
Zitatsodass nur die Personen für den Posten angezeigt werden, die die Quali haben,
brauchst Du eine Zuordnungstabelle Posten>Qualifikation.
Hallo,
Zitatdie anderen Qualifikationen haben alle Mitarbeiter, sodass diese weg gelassen werden können (wie z.B. Führerschein etc).
Hört sich jetzt vielleicht komisch an - aber das stimmt nicht ganz.
Richtig müsste es lauten: Für alle anderen Posten sind keine Qualifikationen notwendig - das macht einen kleinen aber nicht unwichtigen Unterschied.
wird ja alles ziemlich komplex.
Danke erstmal für eure Hilfe. Denke sobald ich das Accessbuch mal durchgearbeitet habe, wird für mich vieles klarer. Bin jetzt auch erstmal bis Samstag im Urlaub.
Hattest du noch ne Vorschlagdatenbank entworfen, oder wurde das zu komplex?
liebe Grüße
Hmmmm .... Wie ???
ZitatHattest du noch ne Vorschlagdatenbank entworfen, oder wurde das zu komplex
Is
mir zu komplex ;D
hehe ne meinte MzKlMu.
*g*