Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Kombinationsfeld zur Auswahl von Tabellen





Frage

Hallo zusammen, ich habe eine Access-DB mit ca. 200 Tabellen, die von einer externen Software (Gebäudeautomation) erstellt wurden. Jede Tabelle steht für einen Datenmesspunkt und enthält Zeit- und Wertangaben. An dieser Grundstruktur kann ich nichts ändern, da die externe Software diese Daten in genau dieser Form täglich erweitert. Diese mdb ist also mein erzwungenes BackEnd. Für die Auswertung der Daten möchte ich eine Access FrontEnd-Datenbank schreiben, mit Formularen, Abfragen, etc. Hierzu habe ich folgendes Problem: Wie kann ich z.B. innerhalb eines Startformulars per Kombinationsfeld eine der 200 Tabellen auswählen, deren Datenpunkt im zweiten Schritt dann genauer betrachtet werden sollen? Bisher habe ich per Kombinationsfeld immer nur Daten von einer Tabelle dargestellt, aber eben nicht eine Ebene höher, unter mehreren Tabellen ausgewählt. Wäre dankbar für irgendwelche Hinweise. obergrattler COME TO WHERE THE OBERGRATTLER IS ...

Antwort 1 von molluskel101

Hi !

Ähnliche Strukturen habe ich auch schon gehabt und gelöst,
Wie wäre folgende Idee:

Mach eine Funktion die von allen Tabellen der BackEnd-DB die Eigenschaft "Name" ausliest und schieß diese in eine Combobox (Wertliste einstellen).

Stichwort: TableDefs !!!!
Mit ner For Each ... in DB.TableDefs ... Next - Schleife kannste alle Tabellen dynamisch durchlaufen und den Namen (wichtig für spätere SQL-Anweisungen) auslesen.

Die Messdaten-Tabs sollten von der Struktur alle gleich aufgebaut sein.

Dann kannste Dir eine zweite Combobox machen,
mit ner SQL-Anweisung drin, bei der nur der Tabellen-Name in der FROM-Klausel aus der selektierten ersten Combobox verwendet wird.
Die Verknüpfung der beiden Comboboxen mußte dann über das AfterUpdate()-Ereignis der ersten Combobox machen und die Anweisung .Requery für die 2. ComboBox ausführen.

Funktioniert recht schnell und elegant.

Gruß,
Thorsten

Antwort 2 von Teddy7

Alternativ könntest Du Dir mit VBA-Befehlen aus den Daten der 200 Tabellen eine temporäre Tabelle aufbauen, die schon genau die Daten enthält (z.B. Zeitbereich) die Du auswerten möchtest.
Gruß
Teddy