Erweiterbare Tabellenstruktur in MS Access?

361
Dan

Dies ist in erster Linie eine Frage zur Access-DB-Struktur.

Hintergrund

Meine Abteilung verwendet Altium für das PCB-Design. Altium unterstützt Datenbankbibliotheken, um die Wiederverwendung von Schemasymbolen und Footprints zu ermöglichen. Eine Datenbankbibliothek kann MS Excel oder Access als Back-End verwenden.

Mit Excel kann Altium jedes Blatt sehen. Zum Beispiel haben wir verschiedene Platten für Widerstände und Kondensatoren, da sie unterschiedliche Parametersätze haben. Mit Access kann Altium jede Tabelle und Abfrage sehen.

Wir haben Excel eine Zeit lang benutzt und es funktioniert OK. Wir möchten jedoch ein Upgrade auf Access durchführen, um Zugriff auf mehrere Benutzer, bessere Filterung, Feldvalidierung und automatische Nummerierung von PKs zu ermöglichen.

Struktur

Eine Tabelle für alle Komponenten. Eine Tabelle für jeden Komponententyp mit Component.ID als PK und allen zusätzlichen Feldern. Abfragen für jeden Komponententyp. Altium ist so konfiguriert, dass nur Abfragen und keine Tabellen enthalten sind.

Table: Components - ID (auto num PK) - Manufacturer - PartNum - Description - ...  Table: ResistorParams - Component.ID (num PK) - Resistance - Tolerance - PackageSize  Table: OtherParams - Component.ID (num PK)  Query: Resistors - * from Components - Resistance, Tolerance, PackageSize from ResistorParams  Query: Other Components - * from Components - Component.ID from OtherParams (hidden) 

Problem

Wenn ich der Resistors-Abfrage Einträge hinzufüge, werden sie wie erwartet zu Components & ResistorParams hinzugefügt. Das ist gut.

Wenn ich der Other Components-Abfrage Einträge hinzufüge, werden sie zu Components hinzugefügt, NICHT OtherParams. Das ist das Problem.

Was fehlt mir, um die Other Components-Abfrage zusätzlich zu dem Basisdatensatz in der Komponententabelle zu der OtherParams-Tabelle hinzufügen zu lassen? Es fühlt sich an, als wäre es nur etwas klein, aber vielleicht ist die gesamte Struktur ausgeschaltet.

0

0 Antworten auf die Frage