PDA

Vollständige Version anzeigen : Werte aus mehreren Tabellen zusammenfügen?


plate-gt
12.07.2006, 08:04
Hallo,

ich hoffe ihr könnt mir helfen. Ich stehe grad irgendwie auf dem Schlauch ;-).
Folgendes Problem:

In Tabelle 1 sind Drucker
in Tabelle 2 sind PCs
in Tabelle 3 sind Sonstige Hardware
in Tabelle 4 sind Anwender
(Drucker, PCs und Sonstige haben verschiedene Spalten)

jetzt soll in einer neuen Tabelle5 zum Beispiel angegeben werden:

Anwender1 besitzt Drucker5 mit Nummer1 und Nummer2
Anwender1 besitzt PC9 mit Nummer1 und Nummer2
Anwender2 besitzt Drucker2 mit Nummer1 und Nummer2
usw.

(wobei die Hardware und die Anwender in Tabelle5 mit dem Nachschlageassistent ausgewählt und die Nummer1 und Nummer2 per Hand eingegeben werden soll.)

Danke euch schonmal.

Gruß
plate-gt

Lia
12.07.2006, 08:32
Ich hoffe doch sehr, dass diese Tabellen IDs haben.

Normalerweise werden solche Sachen über m:n-Beziehungen gelöst. Soll heißen, es gibt eine Zwischentabelle
User, Drucker
1, 3
1, 5
etc.
Diese Tabelle wird in diesem Fall mit den IDs der Tabellen User und Drucker verbunden.

GANZ WICHTIG:
1. Es wird keine Zusätzliche Tabelle erzeugt, die alle Daten vereint. Dafür gibt es Abfragen.
2. Lässt man den Benutzer NIE in der Tabelle arbeiten. Dafür gibt es Formulare.

Will man nur auf Tabellenebene arbeiten, ist Excel besser geeignet.

plate-gt
12.07.2006, 08:45
Hallo,

danke erstmal für die Antwort. Ja, die Tabellen haben IDs (AutoWert als Primärschlüssel). Klar dass da nacher Formulare draus enstehen sollen. Muss ja aber im Hintergrund erstmal die Tabellen verbinden.

Wieso kann ich nachher nicht alle Daten in einer Tabelle vereinen? Und wie vebinde ich die Daten dann über die IDs (nicht technisch sondern logisch)?

Ziel soll nachher sein dass der Anwender der Datenbank zum Beispiel nach einem Anwender suchen kann und alle zugeordneten Hardwareteile bekommt. Oder nach Nummer2 sucht und dazu Anwender und Hardware angezeigt bekommt.

Ein Anwender kann mehrere Hardware Teile (aus allen Tabellen) haben und ein Hardware Teil kann mehreren Anwendern zugeordnet sein. Lediglich die Nummer1 und Nummer2 in Verbindung mit Gerät und Anwender sind einmalig.

Gruß
plate-gt

Lia
12.07.2006, 12:23
Hallo.


Ein Anwender kann mehrere Hardware Teile (aus allen Tabellen) haben und ein Hardware Teil kann mehreren Anwendern zugeordnet sein.
Genau das ist eine m:n-Beziehung. Das kann so aber nicht realisiert werden, darum muss ein Umweg über Zwischentabellen gegangen werden. Dort werden aus der m:n zwei 1:n-Beziehungen.

Beantwortet die Grafik deine Frage, wie es gehen soll?

Noch eine Zusatzfrage: Was ist Nummer1 und Nummer2?

Edit: Man macht sowas nicht in Tabellen sondern in Abfragen, weil man die Tabelle nach jeder Änderung aktualisieren müsste. Das wäre Ressourcenverschwendung. Man teilt die Daten auf mehrere Tabellen auf, damit die Daten sich nicht wiederholen und man keinen Platz verschwendet. Und warum sollte man dann alle Daten 2x speichern? Darum macht man eine Abfrage mit allen Feldern, die man braucht, und schon hat man "eine Tabelle" mit allen Daten.

Hast du denn schonmal mit Access gearbeitet? Im Sinne von erstellen und nicht nur verwenden.