in einer Inventurdatenbank habe ich Tabellen für verschiedenes Equipment (z.b. Extruder, Dosierung, Mixer) in denen das Equipment im detail registriert wird.
Dazu habe ich eine Subtabelle, in der die Location (welches Werk) hinterlegt ist. Diese Subtabelle deshalb, weil oft Equipment von Werk A nach Werk B transferiert wird. In dieser Subtabelle ist auch die Werksinterne Produktionslinine-Bezeichnung angegeben.
Aufgabenstellung: Ich möchte über einen Primärschlüssel aus der Equipmenttabelle (ID + Equipment Gruppe (z.b. Extr od Dosierung) = PK) eine Verbindung zu der Subtabelle schaffen, damit ich nach der Werksinternen Produktionslinien-Bezeichnung abfragen kann.
Wie kann ich einen PK aus 2 Feldern mit einer anderen Tabelle verbinden?
Hallo,
ZitatWie kann ich einen PK aus 2 Feldern mit einer anderen Tabelle verbinden?
Du brauchst auch in der Detailtabelle 2 korrespondierende Felder, sind die da ?
Du musst dann im Beziehungsfenster beim Anlegen der Beziehung auch beide Schlüsselfelder auswählen.
Zeige mal ein Bild des Beziehungsfensters.
für alle drei Equipment-Gruppen möchte ich ein und dieselbe Location Tabelle nutzen, da in dieser LocTabelle Prod.Start, Prod.Ende und Name der jeweiligen Prod.Linie angegeben sind.
Dadurch kann ich dann
a) die Historie der einzelnen Maschinen sehen, wenn sie verlagert wurden und
b) nach den Prod.Linien abfragen und alle Equipments (aus allen Gruppen) erhalten.
Hallo,
leider sieht man nicht alle Tabellenfelder.
Ich halte den Aufbau wie vorgesehen für falsch.
Zunächst musst Du mal eine Tabelle für das Equipment anlegen die alle Felder enthält die in den 3 Gruppen gleich sind. Diese Tabelle (tblEquipment) benötigt einen eigenen einzelnen Primärschlüssel (Autowert).
Dann legst Du für die 3 Gruppen je eine Tabelle an mit den Feldern die unterschiedlich sind. Diese 3 Tabellen erhalten eine Zahl (LongInteger, kein Autowert) als einzelnen Primärschlüssel. Dieser Primärschlüssel ist auch der Fremdschlüssel auf die Tabelle "tblEquipment". Da dieser wegen PS keine Duplikate zulässt ergibt sich eine gewünschte 1:1 Beziehung zwischen "tblEquipment" und der jeweiligen Gruppentabelle. Die Locationtabelle bekommt einen Fremdschlüssel zu "tblEquipment".
Jetzt kannst Du das "tblEquipment" beliebig umlagern, es gibt nur eine Tabelle zur Erfassung der Standorte.
Versuche es mal umzusetzen und zeige dann noch mal das Beziehungsbild.
Hallo Klaus,
habe jetzt folgendes Beziehungsbild. Sieht richtig aus. Jetzt müsste ich nur noch ein entsprechendes Formular erstellen, in dem ich auf die jeweiligen Detailfenster zugreife. Sollte ich da am besten mit Hyperlinks aus dem Formular heraus in die jeweiligen DetListen arbeiten? Anbei das Beziehungsfenster:
Hallo,
Da sind noch doppelte Felder drin (s. Anlage).
Ansonsten würde ich aus den drei "Detail"tabellen in Zusammenhang mit
der Haupttabelle drei Abfragen machen als DS-Herkunft für die Formulare.
gruss ekkehard
Sorry, klappt nicht mit der Anlage. Bekomme ich irgendwie nicht gezippt >:(
Die doppelten Felder solltest du aber auch so finden.
Hallo,
was willst Du hier mit einem Hyperlink ? Zur Formularsteuerung (bzw. zur Steuerung der kompletten Anwendung) braucht es keinen Hyperlink, das wäre hier völlig fehl am Platz. Hyperlinks verwendet man zum Aufruf/Anzeige externer Links oder Dokumenten.
Die Beziehungen scheinen erst mal OK und entsprechen meinem Vorschlag. Bei den Beziehungen im Beziehungsfenster stellt man grundsätzlich den Typ 1 (INNER JOIN) ein. Das ist die häufigste. Beziehungstypen ändert man bei Bedarf nur in den Abfragen. Und zur Sicherheit noch mal der Hinweis, dass die Primärschlüsselfelder der Detailtabellen keine Autowerte sein dürfen. Hänge zur eindeutigen Kennzeichnung an die Fremdschlüsselfelder ein _F an. Es erleichtert die Programmierung erheblich da man PS und FS immer eindeutig unterscheiden kann.
Entferne alle Leerzeichen in den Feldnamen, die erschweren nur die Handhabung weil bei solchen Feldnamen immer ein [] Klammerpaar notwendig ist. Und noch ein weiterer dringender Rat, keine Nachschlagefelder in Tabellen direkt verwenden, unter keinen Umständen.
Zur Darstellung der Daten würde ich ein Hauptformular verwenden zur Anzeige der Daten aus der Tabelle "tblEquipment". Für die jeweiligen Detaildaten verwendest Du je ein Unterformular das über die Schlüsselfelder verknüpft wird. Die Ufos kommen direkt übereinander und werden je nach Gruppe sichtbar oder unsichtbar geschaltet.
Da muss man etwas pfriemeln.
Kannst Du mir die Tabellen mal hier hochladen ?
Ich benötige aber zwingend die Access Version 2003 (MDB).