Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Xoar am Mai 02, 2011, 19:22:17

Titel: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 02, 2011, 19:22:17
Hallo stehe momenten irgendwie aufm Schlauch.

Habe eine tblDienstplan mit ca. 20 Feldern, die Felder sind immer benannt (RTW1_D, RTW1_L, RTW2_D...). Diese Felder werden über ein Formular (frmDienstplan) mit Mitarbeitern aus tblMitarbeiter gefüllt. Das klappt auch alles super

Nun brauch ich aber eine Tabelle wo ich sozusagen eine Feldhistorie/Übersicht erstelle.
So ungefair:

Datum     Mitarbeiter 1     Mitarbeiter 2     Mitarbeiter 3     <--- Mitarbeiter aus tblMitarbeiter
1.1.11       RTW1_D            RTW2_D            RTW1_L          <--- Feldnamen aus tblDienstplan, in denen der jeweilge Mitarbeiter für das Datum 1.1.11 eingetragen ist.
2.1.11       RTW1_D            HLF_D               NEF
3.1.11       RTW1_D            RTW2_D            NEF

Hab momentan keine Idee, wie ich das lösen kann.
Muss ich da grundlegend was ändern, oder kann man das einfach erreichen.

Zur besseren Übersicht habe ich mal nen Link mit der .zip Datei der Datenbank, da sie leider größer als 200kb ist, kann ich sie hier net anhängen

http://www.file-upload.net/download-3402814/TestDienstplan.zip.html


Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: MzKlMu am Mai 02, 2011, 20:05:01
Hallo,
eigentlich ist die Struktur unbrauchbar.
Dir fehlen noch mindestens 4 Tabellen

Fahrzeuge
Qualifikationen  (Die Qualifikationen als Datensätze und nicht als Felder)
Zuordnung Mitarbeiter>Qualifikationen (n:m Beziehung, Ja/Nein Felder entfallen ersatzlos)
Zuordung Dienstplan>Fahrzeug>Fahrer>Führer (n:m Beziehung)

Du musst die Tabellenstruktur noch gründlich überarbeiten. Die Formulare solltest Du mal vergessen, die bisherigen kannst Du nicht mehr verwenden.


PS:
Wenn Du die DB mit dem Access Diensprogramm komprimierst unddann zippst, hat diese nur noch 54KB.

[Anhang gelöscht durch Administrator]
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 02, 2011, 20:39:49
oh gerade erste gesehen, das du die Datenbank angehangen hast.    ^^    danke
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: MzKlMu am Mai 02, 2011, 20:43:03
Hallo,
ich habe oben nachträglich noch ein Bild und die DB (Format2003) angehängt. Bitte mache im Format2003 weiter, viele haben kein A2010. Ich auch nicht immer.
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 02, 2011, 20:46:34
jo danke, jetzt muss ich erstmal durchblicken. hehe
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 02, 2011, 21:42:12
hab noch paar Verständnisfragen:

tblDienstplan verstehe ich nun so, das ich für jedes Fahrzeug einen Datensatz erzeuge, wo Fahrzeug, Fahrer/Führer und Datum einzutragen sind.
Heißt also das ich für einen Dienstplan mit 5 Fahrzeugen auch 5 Datensätze brauche nur mit dem selben Datum.    Richtig?

Wenn ich in tblMitarbeiter das kleine + anwähle fragt der mich welches Unterdatenblatt ich einfügen will, muss ich da ein spezielles auswählen oder ist das nur optional.

Die zwischentabelle tblQualiMitarbeiter verstehe ich noch net so ganz.
kannst die nochmal erläutern?

Kann man nun überhaupt noch ein Eingabeformular erstellen, wo alle Fahrzeuge drauf sind?

Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: MzKlMu am Mai 02, 2011, 22:48:27
Hallo,
ZitatHeißt also das ich für einen Dienstplan mit 5 Fahrzeugen auch 5 Datensätze brauche nur mit dem selben Datum.    Richtig?
Richtig.
ZitatWenn ich in tblMitarbeiter das kleine + anwähle
Vergiss das kleine +, das braucht man nicht.

ZitatDie zwischentabelle tblQualiMitarbeiter verstehe ich noch net so ganz.
In dieser Zwischentabelle wird dem Mitarbeiter seine Qualifikation(en) zugeordnet, eine oder mehrere, jeweils in einem datensatz. % Quali>5 Datensätze.
ZitatKann man nun überhaupt noch ein Eingabeformular erstellen, wo alle Fahrzeuge drauf sind?
Zu was brauchst Du ein solches Formular?
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 03, 2011, 07:53:53
Morgen :)
ZitatZu was brauchst Du ein solches Formular?
Zur übersichtlichen Eingabe, damit man direkt alle Fahrzeuge im Blick hat und sieht ob alles richtig ist.
Oder wie würdest hattest du dir das vorgestellt?

Wenn ich die tblDienstplan nun gefüllt habe, brauch ich ja nun ne Abfrage die mir eine wie oben gesuchte Ansicht erzeugt.
Geht das überhaupt mit "einer" Abfrage, oder brauch nun jeder Mitarbeiter eine einzelne, die dann später zusammengefasst wird?

Wie erreiche ich eigentlich nun, das in der Abfrage nicht dir IDs der Fahrzeuge und Mitarbeiter stehen, sondern die Namen, die in den einzelnen Tabellen in der zweiten Spalte eingetragen sind?
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 03, 2011, 16:14:04
bin gerade dabei mir ne Abfrage zu erstellen, erstmal ganz simpel.

Hab aus der tblDienstplan die Felder Datum, FahrzeugID_F, MitarbeiterID_F und aus tblFahrzeuge das Feld Fahrzeugkürzel.
FahrzeugID_F hab ich ausgeblendet, damit ich nicht die ID vom Fahrzeug sehe, sondern nur das passende Kürzel aus tblFahrzeuge.

Das gleiche will ich jetzt für die Mitarbeiter machen, klappt allerdings nicht. Sobald ich aus tblMitarbeiter das Feld Vorname hinzufüge, zeigt die Abfrage immer keinen Datensatz an, wieso passiert das?

PS: Gerade gemerkt, sobald ich im Abfrageentwurf, die tblMitarbeiter hinzufüge, ohne daraus ein Feld in die Abfrage einzubauen, zeigt er mir schon keinen Datensatz mehr an.
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: DF6GL am Mai 03, 2011, 16:42:42
Hallo,

"die tblMitarbeiter hinzufüge, ohne daraus ein Feld in die Abfrage einzubauen  .....  keinen Datensatz ...."


na, was erwartest Du denn ???


Für was brauchst Du die Abfrage?


Besser statt verbaler Beschreibung einer Abfrage wäre, den SQL-String der Abfrage zu posten..  (Abfrageentwurf/Ansicht/SQL-Ansicht)
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: MzKlMu am Mai 03, 2011, 16:56:29
Hallo,
ZitatHab aus der tblDienstplan die Felder Datum, FahrzeugID_F, MitarbeiterID_F und aus tblFahrzeuge das Feld Fahrzeugkürzel.
FahrzeugID_F hab ich ausgeblendet, damit ich nicht die ID vom Fahrzeug sehe
Hast Du das in der Tabelle direkt gemacht?
Wenn ja, sofort wieder rückgängig machen. Solche Felder dürfen/sollen nur in Formularen verwendet werden.
Und vergiss mal die Formulare, es müssen erst noch andere Dinge geklärt werden.

Gibt es keinen Schichtführer, Chef oder ähnlich an diesem Datum des Dienstplans?
Was ist mit dem Einsatzleiter?
Was bedeuten die Felder x1, x2 und x3 in der alten Tabelle?
Und was ist die Wachabteilung?

Mir ist auch aufgefallen, dass mein Vorschlag noch fehlerhaft ist. Es fehlt noch eine Tabelle.
Aber erst obige Fragen beantworten. Daher lasse das mit dem Formular, es müsste eh geändert werden.
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 03, 2011, 17:30:38
ZitatHast Du das in der Tabelle direkt gemacht?
Wenn ja, sofort wieder rückgängig machen. Solche Felder dürfen/sollen nur in Formularen verwendet werden.
Und vergiss mal die Formulare, es müssen erst noch andere Dinge geklärt werden.
ne nicht in der Tabelle, sondern im Abfrageentwurf, wollte mal ne qry testen.

Also Chef/Schichtführer ist gleichzeitig der Führer vom HLF, also brauch ich da nicht ein besonderes Feld erzeugen. Habe in der tblFahrzeuge noch weitere Fahrzeuge hinzugefügt.
Der Einsatzleiter ist der Führer vom ELW, also wieder auf ein Fahrzeug bezogen. Da brauch ich keine weiteren Änderungen vornehmen, denke ich erstmal.
Wachabteilung ist recht simpel erklärt, ein Dienstplan gild immer für 24h, es arbeiten drei Schichten, jeweils 24h. Also ist eine Wachabteilung alle 3 Tage mit arbeiten dran.

in der tblDienstplan, habe zu den vorhandenen Feldern, MitarbeiterID1_F und MitarbeiterID2_F noch 4 weitere hinzugefügt, da es auch Fahrzeuge gibt, die mit 6 Mitarbeitern besetzt sind, hab diese dann genau wie du vorher, jeweils mit tblMitarbeiter in Beziehung gesetzt.

Die Felder X1, X2... sind sozusagen Posten wo man frei hat, also zuhause bleibt. Die könnte man in einer zusätzlichen Tabelle speichern, oder einfach als Fahrzeug führen, dann brauch man keine neue Tabelle erzeugen.


Bin gleich unterwegs, bis heute später Abends, werd aber übers Handy mal reinschauen, falls noch weitere Fragen auftauchen, sonst halt gegen 22:30 wieder @home

was für ne Tabelle fehlt denn noch?

Liebe Grüße
Marco


Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: MzKlMu am Mai 03, 2011, 17:42:26
Hallo,
Zitatne nicht in der Tabelle, sondern im Abfrageentwurf, wollte mal ne qry testen.
Das versteh ich nicht. In einer Abfrage kann man keine Kombifelder anlegen. Wo genau also hast Du das gemacht, mit den Spalten ausblenden, in Abfragen kann es nicht gehen.

Es fehlt noch eine Tabelle für den eigentlichen Diensplan, der nur das datum und die Wachabteilung enthält. In die jetzige Diensplantabelle kommt dann nur noch ein Fremdschlüssel zum eigentlichen Dienst-Tag. Diese Tabelle würde ich dann "tblDienstTage" nennen. Auch die Wachabteilung sollte in eine Tabelle und nur der Primärschlüssel als Fremdschlüssel gespeichert werden. Es fehlen also noch 2 Tabellen.
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 03, 2011, 17:48:41
ne ich habe keine Kombifelder ausgeblendet.
Im Abfrageentwurf, kann man aus allen Tabellen Felder hinzufügen, die dann später in der Abfrage angezeigt werden und DA habe ich ein feld nicht sichtbar gemacht, nur danach sortiert.
Das meinte ich^^

so bis später....

danke schon mal für die Hilfe
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: MzKlMu am Mai 03, 2011, 20:14:11
Hallo,
anbei mal ein weitere verbesserter Vorschlag.

[Anhang gelöscht durch Administrator]
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 03, 2011, 22:06:00
wow danke, ja sind ja nun echt viele Tabellen in Beziehung gesetzt.

so langsam bekomm ich auch den Überblick
Jetzt frag ich mich nur, wie füll ich das alles am besten mit Daten?

Man müsste mit tblDienstTage anfangen, dort die Wachabteilung und das Datum eintragen. Danach tblDienstplan für jedes Fahrzeug die Mitarbeiter.
Diese Datensätze kann ich dann alle als Subtabelle in tblDienstTage einsehen, also der komplette Dienstplan mit allen Fahrzeugen und Mitarbeitern für den Tag.

Jetzt brauch ich ne Oberfläche zum Dateneingeben, oder hab ich noch vorher was vergessen?

was ich auch noch nicht ganz raff, ich hab ja nun überall Zahlen in den Datenfelder, und nicht die namentlichen Zurordnungen. Denke damit die Datengröße reduziert wird, oder?
Muss ich jetzt um das zu drucken oder anzuzeigen z.B. für tblDienstplan eine Abfrage erstellen und da die ID und Namenfelder einfügen und die IDFelder ausblenden, oder wie läuft das ab?







Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: MzKlMu am Mai 03, 2011, 23:06:42
Hallo,
Zitatund nicht die namentlichen Zurordnungen. Denke damit die Datengröße reduziert wird, oder?
Nein, das dient in erster Linie der Verknüpfung/Beziehung. Das lässt sich mit Zahlen besser realisieren und ist schneller.

Das haupteingabeformular macht man als Hauptformular für die Diensttage und darin ein Unterformular in dem die Fahrzeuge mit den Personen erfasst werden.

Ich mache Dir morgen mal ein Beispielformular.
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 04, 2011, 18:30:09
das wäre natürlich super, danke. Hab dank dir schon wieder viel neues gelernt :)
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: MzKlMu am Mai 04, 2011, 20:17:43
Hallo,
ich habe das Datenmodell noch mal geändert. Die 6 Namen für die Besatzung in einem Datensatz ist nicht OK. Es würde die Auswertung der Mitarbeiter (wer hat wann Dienst) erschweren.
Die Mitarbeiter werden jetzt mit einer Zwischentabelle dem Dienstplanfahrzeug zugeordnet. Jeweils ein Datensatz, Die Funktion der Person wird mit einer Optionsgruppe festgelegt. Ich habe Dir mal ein Formular gemacht. Das erste Formular ist das Hauptformular. Im Formular werden die Fahrzeuge dem Diensttag zugeordnet und im Listenfeld angezeigt. Das Listenfeld aktualisiert sich automatisch. Im Listenfeld kann dann ein zugeordnetes Fahrzeug durch Klicken gewählt werden.

Und einen Bericht als Dienstplan zum Ausdrucken ist auch da.
Wurschtle Dich mal durch. Schaue Dir auch die Beziehungen an.

[Anhang gelöscht durch Administrator]
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 04, 2011, 20:26:55
Danke ich werds mir jetzt mal alles anschauen :)
Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 04, 2011, 21:53:59
schonmal sehr geil, Daumen hoch!

Jetzt gehts ans feintuning ;)

Frage 1:
Inwieweit kann man einen Bericht in die Form bringen, der wie mein ehemaliges Formular in meiner ersten Datenbank aussieht? So ein Design brauch ich nämlich, falls das über den Bericht nicht geht, könnte man doch theoretisch
1. wieder ein Formular mit Wunschdesign erstellen und die Daten des aktuellen Dienstplanes einfach in die Felder eintragen lassen
2. den Dienstplan in ein Excelsheet exportieren und dort geht das ja dann auch ganz einfach.

Frage 2: wie gesagt feintuning^^
Wollte ich per VBA im Unterformular frmDienstplanUfoDienstplanFahrzeuge bestimmte Schaltflächen im zweiten Unterformular frmDienstplanUfoDienstplanFahrzeugeUfoMitarbeiter ein/ausblenden. Leider weiß ich nicht wie ich auf ein Objekt im anderen Formular zugreifen kann.

Private Sub FahrzeugID_F_Click()
    If MitarbeiterID_F = 1 Then
            Option15.Visible = True
        Else
            Option15.Visible = False
    End If
End Sub


Das hab ich momentan eingefügt, nur erkennt er halt die Schaltfläche Option15 nicht.

Frage 3:
kann man einem Fahrzeug was man auswählt z.B. RTW1 direkt zwei leere Datensätze zuordnen, die ich dann nur noch füllen brauch? Dann hab ich sicher gestellt, dass immer die richtige Anzahl der Fahrzeugbesatzung befüllt wird.


Viele viele bunte Fragen.
Will dir nochmal herzlich danken MzKlMu, hast mich viel viel weiter gebracht!

Titel: Re: Problem: Tabellenstruktur erstellen...
Beitrag von: Xoar am Mai 05, 2011, 20:45:32
ok Frage 2 hab ich schonmal hinbekommen

Form_frmDienstplanUfoFahrzeugeUfoMitarbeiter.Option15 musste es komplett heißen :)