Juli 02, 2022, 18:55:16

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Datenbank für Flugverein - Problem beim Verständnis der Beziehungen

Begonnen von mr.airworthy, März 27, 2022, 21:28:37

⏪ vorheriges - nächstes ⏩

mr.airworthy

April 01, 2022, 09:48:47 #15 Letzte Bearbeitung: April 01, 2022, 14:52:35 von mr.airworthy Grund: Datei fehlte + Ergänzung
Moin!

Sorry, dass ich mich erst jetzt wieder melde, wurde gestern wieder etwas laenger im Buero.

Zitat von: DF6GL am März 31, 2022, 16:19:00ich verstehe die Bedeutung, bzw. Unterschied von tblApplicability und tblCMFunktion nicht richtig.

Ich sehe das so:

Unter tblCMFunktion kann ich mir zwar die "Tätigkeit" oder "Tätigkeitsbereich" einer Person (CM) vorstellen und muss demzufolge an tblCM angebunden werden (btw: warum änderst Du dauernd (und dazu noch unlogisch) die Bezeichnungen/Namen der Felder und Tabellen? Korrigiere dies zunächst alles.).
Vollkommen richtig. Jede Person (CM=Crewmember) hat einen Taetigkeitsbereich (CMFunction). Diese Personen (CM) muessen Dokumente (CIF) lesen und bestaetigen (Lesebestaetigung). Die Dokumente betreffen aber nicht immer alle Personen, sondern koennen manchmal nur fuer CMFunction1 zustaendig sein, oder CMFunction1+2 und so weiter. Deswegen haette ich es gerne so realisiert, dass je Person nur die Dokumente angezeigt werden, die die jeweilige Person auch lesen und bestaetigen muss. Grundsaetzlich sind also CMFunction und CIFApplicability vom Inhalt identisch. Nur, dass jeder Person nur EINE CMFunction zugewiesen wird und jede CIF MEHRERE haben kann.

Zitat von: DF6GL am März 31, 2022, 16:19:00Weiterhin: Wirf dieses Anlagenfeld ("Cifapplicability")  aus tblCif heraus und erstelle eine Tabelle ("tblCifApp") , die an tblCif in n-Beziehung angehängt wird.
Erledigt. Hoffentlich korrekt? Ich habe es nur nicht auf die Reihe bekommen, eine Mehrfachauswahl der Gueltigkeitsbereiche pro CIF zu realisieren. Waere das dann in einem Formular umsetzbar?

Zitat von: DF6GL am März 31, 2022, 16:19:00"Applicability" hat dann die Bedeutung eines "Gültigkeitsbereiches" für ein Dokument ("CIF"). Dabei kann ein Dokument mehrere Gültigkeitsbereiche haben.
100% korrekt. Die Gueltigkeitsbereiche entsprechen weiterhin den Taetigkeitsbereichen (1-3).


Zitat von: DF6GL am März 31, 2022, 16:19:00Wenn Tätigkeitsbereich und Gültigkeitsbereich den gleichen Wertebereich umfassen, also datenmäßig identisch sind, dann ist nur eine Tabelle erforderlich.
Ok, das waere dann tblCMFunction.

Bzgl. der geaenderten Bezeichnungen: sorry dafuer, ist mir durchaus bewusst, dass das ziemlich verwirrend ist. Genau das ist aber auch der Grund, warum ich die Bezeichnungen in - meiner Meinung nach - sinnvollere geaendert habe.

Zitat von: Beaker s.a. am März 31, 2022, 21:58:02Bitte entschuldige, dass ich mich nicht mehr beteiligt habe, war aber
gestern und heute den ganzen Tag ausser Haus.
Ach, gar kein Problem. Ich bin fuer jede Hilfe dankbar, egal wann. :) Ohne euch waere ich nicht halb so weit und wuerde noch weniger verstehen.
So, ich lese jetzt mal wieder Access-Tutorial. :)

*Ich glaube, dass ich nun das Unterformular ein wenig verstanden habe. Aktuell hat mein Formular frmCM das Unterformular frmCMxCIF. Die darin enthalten CIFs müssten jetzt erst noch mit dem CM verknüpft werden, damit sie dort angezeigt werden. Da ich die CIFs aber gerne mit den CMFunctions verknüpft hätte, muss ich noch (wie auch immer, dass weiß ich nämlich noch nicht) einen Schritt ,,tiefer" verknüpfen?

Sie dürfen in diesem Board keine Dateianhänge sehen.


Beste Gruesse!

DF6GL

Hallo,


habe die Db überarbeitet und die Beziehungen so gesetzt, wie ich es interpretiere.



Zusätzlich die Benamsungen der Tabellen und Felder durchgängig gemacht.

Bleibe bitte bei dieser Namensgebung und ändere die nicht wieder.  Die Makros habe ich durch VBA-Code ersetzt.



Die "CifApplicability"   (tblCifFunction) hat mit dem Lesen der CIF durch den CM nichts zu tun. 

mr.airworthy

Hallo!

Vielen Dank fürs Berichtigen der Datenbank. Ich werde die Bezeichnungen so beibehalten. ;)
Leider bin ich erst jetzt wieder dazu gekommen, die Datenbank anzuschauen. Wie hast Du es denn jetzt realisieren können, dass die CIFs, die von den CM ,,gelesen" wurden (über die frmCM), in eine Tabelle (tblCmCif) geschrieben werden? Die Tabelle tblCmCif dient also als Datengrab?

Die Tabelle tblCifFunction sollte eigentlich analog zur tblFunction den CIFs dienen, da diese eben zugeordnet werden sollen. Also CIFID 1 ist nur für FuncID 1 + 2 (= CifFuncID 1 + 2) zuständig, CIFID 2 nur für FuncID 3 (= CifFuncID 3), etc. zutreffend. Gleichzeitig sollen dann die bereits zugeordneten CIFs für die CM in der frmCM bereits automatisch angezeigt werden. Aktuell ist es ja so, dass jedes CM sich die CIFs aussuchen und bestätigen kann.

Beste Grüße und noch ein schönes Wochenende!

DF6GL

Hallo,

ZitatWie hast Du es denn jetzt realisieren können, dass die CIFs, die von den CM ,,gelesen" wurden (über die frmCM), in eine Tabelle (tblCmCif) geschrieben werden? Die Tabelle tblCmCif dient also als Datengrab?

ich glaube, Du siehst das Ganze falsch...

Erstmal ist tblCmCif kein "Datengrab", sondern zeigt die einem CM zugeordenten CIFs an, die dort auch als "gelesen" oder auch als "nicht gelesen"  gekennzeichnet werden.

Wer verantwortlich für die initiale Zuordnung der CIfs zu einem CM ist, ist nicht definiert/bekannt.


Der Verantwortliche muss eben (bei dieser Tabellenkonstellation) wissen, welche CIF-Art(en), bzw. Bereiche für welche "Function" gültig sind.  Wenn man das grundsätzlich definieren muss oder will, ist/sind eine weitere , bzw. mehrere Tabelle(n) nötig, die eben diese Zuordnung übernehmen.

Zitat von: undefinedGleichzeitig sollen dann die bereits zugeordneten CIFs für die CM in der frmCM bereits automatisch angezeigt werden



"...in der frmCM..."  Nein, das wäre falsch. Die Zuordnung übernimmt tblCmCif. Dort wird der PK von tblCm  und er PK von tblCif als Fremdschlüssel übernommen (---> ", dass die CIFs, die von den CM ,,gelesen" wurde" )

Zitat von: undefinedGleichzeitig sollen dann die bereits zugeordneten CIFs für die CM in der frmCM bereits automatisch angezeigt werden.


tut es doch ??


Zitat von: undefinedAktuell ist es ja so, dass jedes CM sich die CIFs aussuchen und bestätigen kann.

Was heißt das?  bezieht sich dies auf die Realität oder auf die DB ?

mr.airworthy

Hallo mal wieder. Vielen Dank für die tolle Hilfe!

Zitat von: DF6GL am April 09, 2022, 20:10:18ich glaube, Du siehst das Ganze falsch...
Das ist nicht unwahrscheinlich.  ;D

Zitat von: DF6GL am April 09, 2022, 20:10:18Wer verantwortlich für die initiale Zuordnung der CIfs zu einem CM ist, ist nicht definiert/bekannt.
Der Verantwortliche muss eben (bei dieser Tabellenkonstellation) wissen, welche CIF-Art(en), bzw. Bereiche für welche "Function" gültig sind.  Wenn man das grundsätzlich definieren muss oder will, ist/sind eine weitere , bzw. mehrere Tabelle(n) nötig, die eben diese Zuordnung übernehmen.
Grundsätzlich würde ich ja gerne die tblFunction (tblCifFunction kann ich eigentlich löschen, da sie am Ende der tblFunction entspricht) mit in die tblCif einfließen lassen. Ursprünglich hatte ich es ja über ein Auswahlfeld realisiert (Cif konnte per Checkbox Pilot, Dispatch, CA zugewiesen werden. Mehrfachwahl war möglich und notwendig). Da sagtest Du aber, dass das nicht gut gelöst ist. Soll ich in der tblCif 3 Felder erstellen, wobei jedes Feld EINER Function (Pilot, Dispatch, CA) entspricht? Nur wie muss ich da die Beziehung zu tblFunction ziehen? Denn ich möchte ja pro Feld nur eine FuncID zulassen. Hoffe, dass ich das verständlich rübergebracht habe.

Zitat von: DF6GL am April 09, 2022, 20:10:18"...in der frmCM..."  Nein, das wäre falsch. Die Zuordnung übernimmt tblCmCif. Dort wird der PK von tblCm  und er PK von tblCif als Fremdschlüssel übernommen (---> ", dass die CIFs, die von den CM ,,gelesen" wurde" )
Ok, ergibt Sinn.

Zitat von: DF6GL am April 09, 2022, 20:10:18
Zitat von: mr.airworthyGleichzeitig sollen dann die bereits zugeordneten CIFs für die CM in der frmCM bereits automatisch angezeigt werden.
tut es doch ??
Zitat von: mr.airworthyAktuell ist es ja so, dass jedes CM sich die CIFs aussuchen und bestätigen kann.
Was heißt das?  bezieht sich dies auf die Realität oder auf die DB ?
Das bezieht sich auf den aktuellen Stand der DB. In der frmCM kann zuerst der CM gewählt werden. In der Unterform wird dann tblCmCif dargestellt. Hier kann noch mal die CMID gewählt werden (würde ich wahrscheinlich einfach weglassen, denn jedes CM soll nur für sich selbst CIFs bestätigen können) und die gewünschte CIFID. Ich würde aber gerne schon in Tabellenform (in Verbindung mit zugewiesenen Functions zu den CIFs in der tblCif) die CIFs anzeigen, die das CM bestätigen muss.
Als Beispiel: CM1 (AAA) ist Pilot. Als Pilot sind nur die CIFs 1,3 und 5 zu lesen und zu bestätigen (2,4,6 und 7 sind nicht relevant). Nun würde ich gerne in der frmCif es so darstellen, dass wenn CM1 (AAA) ausgewählt wird, in der Unterform die CIFs 1,3 und 5 schon aufgelistet werden und nur noch mit dem entsprechenden Lesedatum bestätigt werden müssen. 2,4, etc. werden ihm gar nicht angezeigt oder zur Auswahl gegeben, da sie ja nicht für ihn bestimmt sind (wurde vorher in tblCif definiert?).


Beste Grüße und schon mal frohe Ostern!


DF6GL

Hallo,

es ist eine Frage des Konzeptes und dessen Deckung mit den Gegebenheiten.


Wenn ein bestimmter CM , der "Pilot" ist,  nur die und davon alle Cifs bestätigen muss, die einer Funktion (vorher) zugeordnet wurden, dann muss der Tabellenaufbau geändert werden.

Die Cifs müssen in einer Tabelle ("tblFuncCifs) einer bestimmten Function zugeordnet werden (Verantworlicher).
Daraus wird die enspr. "FunctionsCif" einem CM  (in tblCm) zugewiesen, sofern für einen CM nur eine einzige "FunctionsCif" relevant ist.

Mit einem HFO auf "tblCM" und einem darin eingebetteten UFO auf "tblFuncCif" werden denn die passenden Cifs zur Bestätigung angeboten.