PDA

Vollständige Version anzeigen : Höchste Anzahl verschachtelter UFO reicht nicht aus


Andreas Scholl
01.11.2007, 07:30
Hallo zusammen.

ich habe eine Tabelle, in der Messergebnisse eingetragen werden sollen.

Diese besteht aus 8 Feldern. Die Felder 1-7 werden bereits gefüllt über andere Tabelle, die mit dieser Erfassungstabelle über mehrere 1:n-Beziehungen verknüpft sind.

Ich möchte gerne komfortabel die Felder 1-6 auswählen und dann die Messergebnisse für das Feld 7 (das auch schon gefüllt ist) in das Feld 8 eintragen.

Die erste Idee, ein Formular mit Unterformularen scheiterte, da ja so viele Kaskadierungen nicht gehen.

Der zweite Weg, die Felder als Listenfelder (die von einander abhängig sind) ist etwas mühselig, scheitert dennoch, weil ich dann im eigentlichen Formular keine Liste des Feld 7 sehe, zu dem ich dann die Werte eintragen kann.

Ich hoffe, ich habe mich insoweit verständlich ausgedrückt.

Gruß

Andreas

J_Eilers
01.11.2007, 07:34
Hi,

leider nein. Denn die 1. Frage die ich mir dabei stelle, ist, ob dein Datenmodell überhaupt richtig ist. Vielleicht kannst du es konkreter erklären. Auch ist mir der Zusammenhang zwischen "Feldern" und "Tabellen" nicht klar.

Andreas Scholl
01.11.2007, 07:51
Hallo und danke für die schnelle Antwort.

Ingesamt gibt es 8 Tabellen.
Tabelle 1: Erfasst den Grund der Messung
Tabelle 2: Erfasst das Profil der Messung
Tabelle 3: Erfasst das Datum und den Ort der Messung
Tabelle 4: Erfasst die Gutachter, die die Messungen vornehmen.
Tabelle 5: Erfasst das Objekt, das gemessen werden soll
Tabelle 6: Erfasst die Merkmalsausprägungen (abhängige Tabelle vom Profil)
In Tabelle 7 (doch nicht 8) sollen dann die Messergebnisse zu den Merkmalsausprägungen erfasst werden. Außer dem Feld Messergebniss, sind dann noch die IndexNr der Tabellen 1-6 als Felder vorhanden, um das Messergebnis eindeutig zuzuordnen.

Andreas

J_Eilers
01.11.2007, 08:11
Gibt es für ein Objekt mehrere Messungen an verschiedenen Orten? Ich würde eine Haupttabelle für das Objekt(?) darüber setzen und dort die ID's der Tabellen 1-6 reinschreiben und in Tabelle7 alle Werte zu den Messungen mit der HauptID verknüpfen. So liest es sich, als wenn alles zusammenhanglos im Raum steht.

hcscherzer
01.11.2007, 08:17
Moin Andreas,
wenn ich das richtig verstehe, musst Du doch in dem Formular, wo Du die Messergebnisse eingibst (Tabelle 7), sechs KombiFelder anlegen, wo Du die Werte aus den sechs Mastertabellen auswählen kannst. Von Kaskadieren keine Spur ... lediglich die .Recordsource für KombiFeld6 muss abhängig von Kombifeld2 sein.

Andreas Scholl
01.11.2007, 08:23
Um es ganz konkret zu machen:

Es gibt einen Auftrag etwas zu messen. Es gibt mehrere Profile, die der Messung zugrunde liegen. In diesen Profilen sind die Merkmalsausprägungen definiert, die gemessen werden sollen. Jetzt gibt es einen Termin und Ort, an dem mehrere Gutachter zusammen kommen und messen welche Ergebnisse das Objekt in den einzelnen Merkmalsprägungen hat.

Das bedeutet:
Ich muss die Aufträge erfassen. (Tabelle1)
Ich muss mehrere Profile vorrätig haben oder neu anlegen (Tabelle2)
Ich muss zu den einzelnen Profilen Merkmalsausprägungen haben (Tabelle3, die mit Tabelle2 in einer Beziehung steht).
Dann erfassen ich Datum und Ort der Messung (Tabelle 4)
Dazu kommen die Gutachter aus Tabelle 5 (die dort schon hinterlegt sind und mit einer n:m Beziehung mit Tabelle 4 stehen)
Die Gutachter schauen sich das Objekt an, das in Tabelle 6 erfasst wurde.
Dann erfolgt die Bewertung in Tabelle 7 zu den einzelnen Merkmalsausprägungen aus Tabelle 3).

Oh Mann, die eigentlich Sache ist noch viel komplizierter, und jetzt geht es nur um die Erfassung und nicht einmal die Auswertung!

Andreas

J_Eilers
01.11.2007, 08:33
Also Tab1 kann gleich das Datum der Messung enthalten, denn das gibts ja nur 1 mal. Ist Tab7 eine generische Tabelle oder wie darf ich mir das vorstellen, wenn es unterschiedliche Ausprägungen gibt?

Und die Auswertung ist meist einfacher, als man es sich vorstellt ;) Das Debuggen dauert meist am Längsten.

hcscherzer
01.11.2007, 08:36
Einwand, Euer Ehren:
oder besser: Nachfrage.
Gibt es bei jedem Auftrag nur eine oder mehrere Messungen? Im ersten Fall würde Tab1 und Tab4 zusammen in einer Tabelle stattfinden.
Profile und Merkmalsausprägungen: reicht da nicht eine Tabelle?
Tabelle6? wirklich mehrere Objekte pro Auftrag?

Andreas Scholl
01.11.2007, 11:05
es können pro Auftrag mehrere Objekte und Messungen erfolgen.

So hätte ich gerne die Maske...
-----------------------------------------------------
Auftrag Termin Objekt

Testverfahren Gutachter


Merkmal 1 Ergebnis 1
Merkmal 2 Ergebnis 2
Merkmal 3 Ergebnis 3
... ....
__________________________________________________

wobei die Merkmale abhängig vom Testverfahren sind und unterschiedlich sein können


Andreas

hcscherzer
01.11.2007, 11:36
So hätte ich gerne die Maske... Erst mal die Datenstruktur, dann die Oberfläche ...

Also nochmals:
a) Ein Auftrag -> mehrere Messungen an unterschiedlichen Orten zu unterschiedlichen Zeiten; sind die von Dir genannten 'Objekte' damit identisch? hier stellt sich auch die Frage, ob sich die Messorte (Objekte) wiederholen und ob sie auch erfasst werden sollen und wenn, ob 1:n oder m:n wenn in verschiedenen Aufträgen die selben Objekte wiederkehren
b) mehrere Profile legen die zu messenden Merkmale fest; Frage: gibt es Merkmale, die in mehreren Profilen auftauchen oder findet sich jedes Merkmal in genau einem Profil?
c) werden jedesmal alle Messungen durchgeführt, die die Profile vorschreiben?
d) gibt es direkte Abhängigkeiten zwischen Objekten, Aufträgen oder Profilen einerseits und Gutachtern andererseits?

Andreas Scholl
01.11.2007, 12:30
Erst mal die Datenstruktur, dann die Oberfläche ...

Also nochmals:
a) Ein Auftrag -> mehrere Messungen an unterschiedlichen Orten zu unterschiedlichen Zeiten; sind die von Dir genannten 'Objekte' damit identisch? hier stellt sich auch die Frage, ob sich die Messorte (Objekte) wiederholen und ob sie auch erfasst werden sollen und wenn, ob 1:n oder
m:n wenn in verschiedenen Aufträgen die selben Objekte wiederkehren

->> Die Objekte können unterschiedlich sein.

b) mehrere Profile legen die zu messenden Merkmale fest; Frage: gibt es Merkmale, die in mehreren Profilen auftauchen oder findet sich jedes Merkmal in genau einem Profil?

-> Es gibt eine globale Merkmalsliste, die Merkmale können mehrfach in verschiedenen Profilen auftauchen (aber nur 1x je Profil).


c) werden jedesmal alle Messungen durchgeführt, die die Profile vorschreiben?

--> Ja

d) gibt es direkte Abhängigkeiten zwischen Objekten, Aufträgen oder Profilen einerseits und Gutachtern andererseits?

-->Nein

Andreas

hcscherzer
01.11.2007, 18:03
Moin Andreas,
wenn ich alles richtig verstanden habe, brauchst Du insgesamt elf Tabellen:
die Master-Tabellen
tbl_auftrag sowie tbl_profil, tbl_merkmal, tbl_objekt und tbl_gutachter
tbl_auftrag wird mit dreien davon über m:n Tabellen verknüpft: tbl_auf_u_prof, tbl_auf_u_obj und tbl_auf_u_gut
Ebenfalls eine m:n Beziehung definiert tbl_prof_u_merk
Dann gibt es die Detail-Tabellen tbl_messung und (1:n) tbl_mess_details;
in der ersten wird das Datum der Messung gespeichert und das Objekt; in die tbl_mess_details werden die Messergebnisse je Gutachter und je Merkmal erfasst. Welche davon in dem Eingabeformular erscheinen bestimmen jeweils vorgeschaltete Abfragen auf die m:n Tabellen.
Die Füllung der m:n Tabellen ist in Access nicht ganz trivial, da gab es auch schon jede Menge Threads dazu hier im Forum. Für den Benutzer einfach zu handhaben ist die CheckedListBox. Die ist aber kein Access-Standard sondern als ActiveX Control einzubinden und knifflig per VBA zu verwalten. Alternativ jeweils zwei Listboxen (mit den ausgewählten und den nicht ausgewählten Details) und Buttons zum aktivieren / deaktivieren. UFO's finde ich persönlich nicht so gut handhabbar, soll aber auch gehen.
Mit einer der Methoden musst Du also in einem Auftrags-Formular für jeden Auftrag die entsprechenden Objekte, Profile und Gutachter selektieren.
Für jeden Messvorgang werden dann in einem zweiten Formular die Ergebnisse erfasst. Dafür würde ich eine UFO Konstruktion wählen: Messung im HF und MessDetails im UFO. Die Datensätze, in die die Messergebnisse eingetragen werden, sollten vorher (bei jeder Messung) erzeugt werden, dann muss nicht nachher kontrrolliert werden, ob schon alle Messungen vo allen Gutachtern angelegt wurden.
Recht komplizierte Angelegenheit das ... bin mir auch nicht ganz sicher, ob diese Modellierung schon der Weisheit letzter Schluss ist.
Vielleicht berichtest Du gelegentlich mal über den Fortschritt?

Andreas Scholl
01.11.2007, 19:16
So, Du hast es jetzt genau erfasst. Die Datenbankmodell sieht genauso aus. Jetzt hänge ich eben an der Erfassung. Ich habe schon mit dem Gedanken gespielt eine andere Variante in Form einer Kreuztabelle als Eingabeformular zu machen:

Hauptformular:
Auftrag Datum Objekt Kriterium

UFo:
Gutachter 1 Gutachter 2 Gutachter 3 (-8)
Merkmal1 Ergebnis 11 Ergebnis 12 Ergebnis13
Merkmal2 Ergebnis 21 Ergebnis 22 Ergebnis 23
...

Nur wie?

Andreas

hcscherzer
03.11.2007, 11:30
Moin Andreas,
komme erst heute dazu, mich mit Deinem Mess-Projekt zu beschäftigen ...
Ich würde - wie auch schon mal geschrieben - nicht alles in ein einziges Formular quetschen, auch um die Übersicht nicht zu verlieren.
Also: ein Formular für die Auftragsverwaltung, in dem jedem Auftrag die Objekte, Profile und Gutachter zugeordnet werden (das braucht schon ordentlich Platz).
In einem zweiten Formular 'neue Messung' werden die Messungen erfasst:
Zuerst erfolgt die Auswahl aus zwei KomboBoxen: Auftrag und Objekt und die Eingabe des Datums.
Per Klick auf einen hierfür vorgesehenen Button werden dann die Datensätze für die Mess-Ergebnisse in der Tabelle Messdetails erzeugt (abhängig von den ausgewählten Profilen) für jeden Gutachter und jedes Merkmal genau ein Datensatz (bei drei Gutachtern und zwei Merkmalen = sechs Datensätze). Diese Datensätze werden im UFO (Endlosformular) angezeigt und dort können dann in jedem Datensatz die Messergebnisse in TextBoxen eingegeben werden.

Andreas Scholl
04.06.2008, 14:43
Ich möchte mich nach langer Zeit für die zahlreichen Ideen bedanken.

Ich bin jetzt folgenden Weg gegangen: Die Objekte und Termine werden mit einer Anfügeabfrage an die Bewertungstabelle angefügt. Dabei wird auch eine Aktualisierungsabfrage ausgeführt, die einen Flag "bewertet?" von Nein auf Ja setzt. In der Maske habe ich dann über Kombinationsfelder die Werte ausgewählt und in einem UFO kann ich dann die Bewertungen erfassen. Extrem komplex, aber es funktioniert!

Andreas