Neuigkeiten:

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

Mobiles Hauptmenü

Tabellen ohne Referenz in Access-Formular zusammenführen

Begonnen von Der_Schanko, Oktober 11, 2016, 15:11:30

⏪ vorheriges - nächstes ⏩

Der_Schanko

Hallo zusammen,

ich bin am verzweifeln und hoffe mir kann hier geholfen werden...
Ich möchte eine Access-DB zu entwerfen mit der u.A. folgende Dinge erledigt werden können:

  • Zuordnung der verschiedener IT-Devices zu MA
  • Reparaturbelege anzeigen etc...
Als Basis dienen mir mehrere Tabellen, z.B.:

  • Auflistung der IT-Devices (getrennt z.B.: eine Tabelle für Handys inkl. Seriennummer etc)
  • MA Auflistung
Mein Ziel ist es nun mit Hilfe eines Formulars eine neue Tabelle zu erstellen in der die Zuordung der IT-Devices zu den MA festgehalten wird.
Den Aufbau des Formulars wollte ich wie folgt gestalten:

Dem "Bediener" steht im Formular die Möglichkeit zu Daten (z.B. Namen) in verschiedenen Kombifeldern auszuwählen. Diese Kombifelder beziehen sich auf verschiedene Tabellen, die größtenteils keine Beziehung zueinander haben.
Das Formular sollte möglichst als Liste aufgebaut sein, in der man nach und nach jedes IT-Device abarbeitet bzw. eine Zuordnung vornimmt.

Als Ergebnis möchte ich in dem Formular eine Liste erhalten in der z.B. jedes Handy inkl. Seriennummer einmal aufgeführt ist. Zusätzlich beinhaltet die Liste die Zuordung zum MA und zum ausgegebenen Zubehör.

Ist die Bearbeitung abgeschlossen, sollen alle Daten über einen Button in eine Tabelle übertragen werden (für weitere Bereichte/Formulare).

Ich hoffe, dass ich mein Problem ausreichend beschreiben konnte und hoffe auch eure Hilfe!

LG
Schanko
LG

Schanko

HB9876

Hey Schanko,
ich kann dein Ansinnen nachvollziehen und betreibe selbst so eine Loesung (nicht Access).

Fuer mich hoert es sich nicht logisch an die Geraete in eigene Tabellen schreiben zu wollen.
Generell werden die Daten aus Formularen in Tabellen geschrieben, evtl. nicht gespeichert (wieder entfernt) wenn nicht gewollt.

Hast du dir Gedanken ueber den Tabellaufbau gemacht, zeig mal deine Idee dazu.

Gruss
Jens
Mit jeder Antwort komme ich weiter und lerne.<br /><br />Danke!!!

MzKlMu

Hallo,
ZitatAuflistung der IT-Devices (getrennt z.B.: eine Tabelle für Handys inkl. Seriennummer etc)
Das ist bereits der 1.Fehler. Alle IT-Devices gehören in eine Tabelle mit einem Schlüsselfeld für die Geräteart. Demzufolge ist auch für die Geräteart eine Tabelle ereforderlich, die Art als Text und ein Feld für den Primärschlüssel (Autowert).
Dann wird eine weitere Tabelle benötigt zur Zuordnung der Geräte zum Mitarbeiter (n:m Beziehung). In dieser Tabelle wird nur der PS des MA und der PS des Gerätes jeweils als Fremdschlüssel gespeichert.
Alle Tabellen werden im Vorfeld erstellt. Zur Laufzeit werden weder Tabellen noch Felder erzeugt.
Zitatauf verschiedene Tabellen, die größtenteils keine Beziehung zueinander haben.
In einer Datenbank gibt es so gut wie keine beziehungslosen Tabellen.

ZitatIst die Bearbeitung abgeschlossen, sollen alle Daten über einen Button in eine Tabelle übertragen werden
Die Bearbeitung erfolgt mit gebundenen Formularen. Diese speichern direkt in den Tabellen. Zum Speichern braucht es keinen Button.
Gruß Klaus

Der_Schanko

Hallo,

also es handelt sich um mehrere Geräte, die nicht unbedingt logisch miteinander verbunden sind.
z.B. Handy (eigene Seriennummer) - Dockingstation (eigene Seriennummer) - mobiler Drucker (eigene Seriennummer) - Mitarbeiter
Aktuell sieht meine Tabellenstruktur so aus, dass jedes Gerät eine Tabelle besitzt in der noch weitere Daten festgehalten werden (Firmware, Hersteller usw.)

Um nicht manuell eine große Tabelle mit der Zuordnung erstellen zu müssen wollte ich das quasi über das Formular machen.
Die Zurodnung des Handys zum Drucker ist hierbei variabel, weil die Geräte untereinander kompatibel sind.
Dies würde mir auch die Möglichkeit bieten einzelne Geräte hinzuzufügen und zu bearbeiten.

Hoffe das hilt dir weiter

Lg
Schanko
LG

Schanko

DF6GL

Hallo,

ZitatIch möchte eine Access-DB zu entwerfen mit der u.A. folgende Dinge erledigt werden können:
•Zuordnung der verschiedener IT-Devices zu MA
•Reparaturbelege anzeigen etc...


Beschreibe doch mal die Situation ausführlich(!) und genauer....

MzKlMu

Hallo,
die Geräte gehören ohne Wenn und aber in eine Tabelle.

Zur Datenerfassung benötigst Du genau 2 Formulare.
Ein Hauptformular für die Anzeige der Mitarbeiterdaten und darin ein über die Schlüsselfelder verknüpfte Unterformular zur Zuordnung der Geräte zum Mitarbeiter.

ZitatDie Zurodnung des Handys zum Drucker ist hierbei variabel, weil die Geräte untereinander kompatibel sind.
Das musst Du mal erklären, wieso ist ein Handy zum Drucker kompatibel ?
Gruß Klaus

Der_Schanko

Hallo,

ZitatBeschreibe doch mal die Situation ausführlich(!) und genauer....

also zunächst geht es mir darum eine Zuordnung aller ausgeteilten Geräte zu einem MA anzufertigen.
Die Geräte sollen also ausgeteilt werden, wobei ich mit Hilfe des Formulars festlegen will welcher MA welches Gerät erhalten hat.

Ich habe also folgende Daten in unterschiedlichen Tabellen:

  • Mitarbeiter: Name, Vorname, Personalnr, Abteilung usw.
  • Handys: Seriennummer, interne Inventarnummer, Firmware usw.
  • Mobile Drucker: Seriennummer, interne Inventarnummer, Firmware usw.

Das Formular soll meinem Wunschenken nach so funktionieren, dass ich zB. den Namen des MA in einem Kombifeld auswähle, dann die Seriennummer des Handys in einem weiteren usw.

So habe ich mir die grobe Struktur vorgestellt:

Name/Vorname -> Abteilung ->Seriennummer Handy -> Beschreibung Handy -> Seriennummer Drucker -> Beschreibung Drucker
Optimal wäre es natürlich, wenn die Abteilung sich automatisch an den ausgewählten Namen anpassen würde (ähnlich einem SVerweis in Excel)

Zitatdie Geräte gehören ohne Wenn und aber in eine Tabelle.

Das würde ja bedeuten, dass ich einem Handy direkt einen Drucker fest zuordnen muss.
Das will ich ja möglichst variabel in einem Formular.

ZitatDas musst Du mal erklären, wieso ist ein Handy zum Drucker kompatibel ?

Handy & Drucker stehen hier synonym für technische Geräte die wir in der Firma verwenden.
Jedes Handy hat seine eigene Seriennummer, ebenso wie jeder Drucker.
Da die Geräte aber untereinander kompatibel sind kann ich quasi unternander kombinieren, wie ich lustig bin.

LG
Schanko
LG

Schanko

MzKlMu

#7
Hallo,
ZitatDas würde ja bedeuten, dass ich einem Handy direkt einen Drucker fest zuordnen muss.
ich verstehe es immer noch nicht. Wieso musst Du ein Handy einem Drucke zuordnen. Der Mitarbeiter hat ein Handy und ein Drucker. Das sind 2 Datensätze in der Zuordnungstabelle kombiniert wie Du lustig bist.
ZitatName/Vorname -> Abteilung ->Seriennummer Handy -> Beschreibung Handy -> Seriennummer Drucker -> Beschreibung Drucker
Das ist der Inhalt von 5 Tabellen.
- MA
- Abteilungen
- Geräte
- Gerätearten
- MitarbeiterGerät

Der von Dir vorgesehen Aufbau ist für eine Datenbank ungeeignet, das ist Excelaufbau aber kein Access.

Im Anhang ein Bild mit einen Vorschlag für die Tabellenstruktur. Inklusive einer einfachen Reparaturverwaltung. Die Struktur deckt Deine oben genannten Wünsche vollständig ab.
Gruß Klaus

Der_Schanko

Ich sag schon mal vielen Dank für deine Mühe!

Kann jetzt leider nicht mehr mit Access arbeiten, werde mir deinen Entwurf morgen direkt mal anschauen und versuchen umzusetzen!

LG
Schanko
LG

Schanko

Der_Schanko

Guten Morgen,

ich habe nun meine Tabellstruktur, an dein Beispiel angepasst (siehe Anhang).

Wenn ich dich gestern richtig verstanden habe ist "tblZuordnungMitarbeiterGerät" nun meine Haupttabelle.
Mein Vorgehen hierzu wäre jetzt ein Formular in dem ich die einzelnen Felder aus den verschiedenen Tabellen auswählen bzw. kombinieren kann. Beispiel:

Handheld 1 -> Drucker 2 -> MitarbeiterI 1 -> MitarbeiterII 2 -> Bereich/Abteilung (automatisch zu MA) -> Gruppenleiter (automatisch zu Bereich/Abteilung) -> Sticknummer -> Fachnummer -> Bauteil/Halle (automatisch zu Fachnummer)

*Die Mitarbeiter sollten immer im selben Bereich arbeiten, somit reicht es wenn die Abteilung zum MA I automatich erscheint.*

Wie kann ich mein Vorgehen jetzt in die Tat umsetzten? :-\

Oder muss ich die Zuordnung in meiner "Haupttabelle" manuell vornehmen? Das wäre natürlich nicht so schön  :(

LG
Schanko
LG

Schanko

MzKlMu

#10
Hallo,
nachdem ich ohnehin bereits die Tabellen angelegt habe, habe ich die DB mal durch Formulare ergänzt.
Es gibt 2 Hauptformulare:
- frmErfassung
Hier werden die Mitarbeiter gepflegt (auch neue MA) und im Unterformular die Geräte zugeordnet. Es können nur Geräte ausgewählt werden wenn es freie unzugeordnete Geräte gibt.
- frmGeräte
Hier können Geräte gepflegt werden, auch neue Geräte eingetragen. Man sieht hier auch wer das Gerät z.Z. hat. Im Ufo werden Reparaturen erfasst.

Bitte Beziehungen ansehen und dann die Hafos.
Die Unterformular können zwar eigenständig geöffnet werden, sind aber wenig brauchbar.

DB (MDB) im Anhang.
Wenn ich weiter helfen soll, muss die DB im MDB Format bleiben, ich habe nur die ältere Access Version (2003).


Ich habe jetzt erst Deinen neuen Beitrag gesehen.
Zitatich habe nun meine Tabellstruktur, an dein Beispiel angepasst
Nicht ganz, daher noch mal der Hinweis:
Alle, ausnahmslos alle Geräte kommen in eine Tabelle.
Das ist auch aus der Ähnlichkeit der beiden Tabellen (Handheld und Drucker) klar erkennbar.
Ansonsten, beschäftige Dich erst mal mit meinen Beispiel. Ich bin erst heute Abend wieder hier.

Und noch etwas, vermeide unbedingt Sonder- und Leerzeichen in Feld und Objektnamen. So etwas "FTE in %" ist ein No-Go. Erlaubt ist nur der _ (Unterstrich).
Für aussagefähige Texte verwendet man das Bezeichnungsfeld und da kannst Du reinschreiben was Du willst.

Gruß Klaus

Der_Schanko

Vielen Dank!

Deine Formulare kann ich perfekt als "Inspiration" benutzen ;D!

ZitatAlle, ausnahmslos alle Geräte kommen in eine Tabelle.

Für das Formular, dass ich gerade erstelle funktioniert meine Lösung (noch).
Im ersten Schritt würde ich das auch so belassen, weil es (für mich) noch ein wenig übersichtlicher erscheint.
Im Nachgang werde ich selbstverständlich schauen, inwiefern ich die DB noch verbessern kann!

Zurück zum Formular bzw. zum Formularentwurf (siehe Anhang).
Die ersten vier Felder können nun von mir beliebig kombiniert werden und werden in meiner Haupttabelle gespeichert.
Nun möchte ich der Einfachheithalber zwei Felder anzeigen lassen, die sich abhängig vom Kombifeld "Anwender I" automatisch füllen.
Und zwar soll sich das erste Feld automatisch den Breich/Abteilung ziehen und das zweite Feld entsprechend dem Bereich/Abteilung den jeweiligen Gruppenleiter.

Wie kann ich das nun bewerkstelligen? Ich muss ja für beide Ausgabewerte über mehrere Tabellen "hinwegschauen"...

LG
Schanko
LG

Schanko

MzKlMu

#12
Hallo,
ich halte Deinen gegenwärtigen Aufbau der Tabellen für stark verbesserungsbedürftig bzw. eher unbrauchbar.
Was hat der Gruppenleiter in der Zuordnung zum Gerät zu suchen ?
Der Mitarbeiter hat einen Gruppenleiter, doch nicht die Kombination Gerät-Gruppenleiter.
Auch die Gruppenleite sind Mitarbeiter und gehören in diese Tabelle.
Was ist denn der Anwender I, was Anwender II ?
Auch die FachID hat in dieser Tabelle nichts verloren. Oder erkläre es.
Was ist denn eigentlich die StickID ?
Was PersoID I und II ?
Es gibt noch viel mehr Ungereimtheiten.

ZitatIm ersten Schritt würde ich das auch so belassen, weil es (für mich) noch ein wenig übersichtlicher erscheint.
Mache das lieber nicht. Erfahrungsgemäß ist der nachträgliche Aufwand zum ändern enorm. Ich halte das Konzept für untauglich mag es für Dich noch so übersichtlich sein.

ZitatIch muss ja für beide Ausgabewerte über mehrere Tabellen "hinwegschauen"...
Alleine aus dieser Anforderung lässt sich das falsche Datenmodell ableiten.

Beantworte mal die Fragen.

Noch mal der Hinweis: Feldnamen ändern, keine Leer und Sonderzeichen.
Gruß Klaus

Der_Schanko

Guten Morgen,

dann versuche ich mal all deine Fragen zu beantworten... :-[
Zunächst einmal funktioniert die DB fast schon so, wie ich es möchte.
Was mir aktuell fehlt, ist die beschriebene automatische Aktualisierung der zwei Felder im Formular.

Da es wie gesagt funktioniert und du mir bis jetzt leider auch noch nicht logisch dargestellt hast, warum ich meinen Aufbau denn zwingend so anpassen muss, wie du es im Kopf hast, lasse ich es auch erstmal so. :o
Ich möchte dich hier nicht angreifen, ich verstehe einfach nicht, warum es nur EINE Lösung geben soll?! :-[

Jetzt zum Formular (hier liegt eine Anforderung meiner Vorgsetzten/Schichtleiter vor, wie das auszusehen hat):

  • Es gibt einen Pool an Handhelds & Druckern, die immer paarweise ausgehändigt werden
  • Es gibt den Mitarbeiterstamm, der sich über die verschiedenen Schichttypen verteilt. In der Regel arbeiten also zwei Mitarbeiter (jeweils aus einer Schicht) mit ein und dem selben Paar Handheld+Drucker
  • Beide Mitarbeiter sollten im gleichen Bereich arbeiten, dieser soll ebenfalls in der Zuordnung aufgeführt werden (z.B. Versand)-möglichst automatisch
  • Dieser Bereich hat für jede Schicht einen Gruppenleiter (Vorgesetzten)-ebenfalls anhand des Feldes "Bereich" automatisch gefüllt
  • Um die Geräte sicher zu verwahren werden diese in Fächern abschlossen. Jedes Fach hat eine Nummer und ist einem bestimmten Bauteil zugeordnet
  • Als Schlüssel werden die "Sticks" verwender, die ebenfalls eine Nummer besitzen (in zweifacher Menge - für jeden MA)
ZitatWas PersoID I und II ?
Die sind ursprünglich von mir in die Tabelle aufgenommen worden.
Werden nicht benötigt, also gelöscht. So wie alle anderen IDs in tblZuordnungMitarbeiterGerät (Bis auf MitarbeiterGerätID).

Ich hoffe, dass ich einige Ungereimtheiten auflösen konnte...

ZitatAlleine aus dieser Anforderung lässt sich das falsche Datenmodell ableiten.

Die Gruppenleiter werden aktuell sowohl in der Mitarbeitertabelle (als Mitarbeiter) und in der Gruppenleitertabelle (als Gruppenleiter mit der Zuordnung zum Bereich) geführt.
Ich stehe da wirklich auf dem Schlauch und wüsste nicht wie ich das einfacher gestalten kann.

Die Feldnamen werde ich jetzt als erstes anpassen!
Ich hoffe weiterhin auf deine Unterstützung :)!

LG Schanko



LG

Schanko

MzKlMu

#14
Hallo,
Zitatich verstehe einfach nicht, warum es nur EINE Lösung geben soll?! :-[
für eine korrekt aufgebaute relationale Datenbank gibt es nur eine Lösung mit normalisiertem Tabellenaufbau.
Nach Deiner neuen Beschreibung ist da noch viel mehr falsch.
Zitat•Es gibt einen Pool an Handhelds & Druckern, die immer paarweise ausgehändigt werden
Dazu ist eine extra Tabelle erforderlich die Handheld und Drucker kombiniert (Gerätegruppe)
Zitat•Es gibt den Mitarbeiterstamm, der sich über die verschiedenen Schichttypen verteilt. In der Regel arbeiten also zwei Mitarbeiter (jeweils aus einer Schicht) mit ein und dem selben Paar Handheld+Drucker
Gleiches wie zuvor. Du bildest über die beiden Mitarbeiter eine Gruppe mit einem Primärschlüssel und die Mitarbeitergruppe wird dann der Gerätegruppe zugeordnet.
Zitat•Beide Mitarbeiter sollten im gleichen Bereich arbeiten, dieser soll ebenfalls in der Zuordnung aufgeführt werden (z.B. Versand)-möglichst automatisch
Das ergibt sich automatisch, indem man einen Mitarbeiter einem Bereich zuordnet.
Zitat•Dieser Bereich hat für jede Schicht einen Gruppenleiter (Vorgesetzten)-ebenfalls anhand des Feldes "Bereich" automatisch gefüllt
Der Gruppenleiter gehört als Fremdschlüssel in die Bereichstabelle.
Zitat•Als Schlüssel werden die "Sticks" verwender, die ebenfalls eine Nummer besitzen (in zweifacher Menge - für jeden MA)
Die Sticks gehören ja dem Mitarbeiter und sind daher als Fremdschlüssel in der Mitarbeitertabelle zu führen.
ZitatDie Gruppenleiter werden aktuell sowohl in der Mitarbeitertabelle (als Mitarbeiter) und in der Gruppenleitertabelle (als Gruppenleiter mit der Zuordnung zum Bereich) geführt.
falsch, eine Tabelle reicht. 2 Tabellen ist ja erhöhter Pflegeaufwand. Eine Tabelle reicht völlig, mit einen Hakenfeld für den Gruppenleiter.

Du planst eine recht umfangreiche Datenbank. Wenn die ordentlich funktionieren soll, sind zum Aufbau die Normalisierungsregeln unerlässlich und zu befolgen. Du solltest Dich daher dringend erst mal mit den Grundlagen beschäftigen.
Hier 2 Links dazu:
https://www.hdm-stuttgart.de/~riekert/lehre/db-kelz/
http://www.access-tutorial.de/index.htm
Gruß Klaus