Neuigkeiten:

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

Mobiles Hauptmenü

Datenbank erstellen - Probleme bei der Umsetzung der Verknüpfung von Tabellen

Begonnen von M@xi, November 05, 2014, 19:47:43

⏪ vorheriges - nächstes ⏩

M@xi

An das Benutzen einer Kombobox habe ich noch gar nicht gedacht, super Sache! Ich habs soweit Begriffen und jetzt macht es auch Sinn, die Städte als eine extra Tabelle zu führen  :)

ZitatDas ist die 'normale' Vorgehensweise, die von meiner Seite (und nicht von meiner) positiv bewertet wird. Allerdings rate ich von der Verwendung von Makros persönlich ab und rate zu VBA. Die Nachteile von Makros wurden in diesem Forum X-Mal deutlich und unmissverständlich abgehandelt.
Ich habe VBA leider noch überhaupt nicht behandelt und uns wurden bisher nur das Benutzen von Macros beigebracht - und es wird auch gefordert Macros zu benutzen, also bin ich daran wohl gebunden.

Zitat.. nach der Erstellung des Tabellenmodells - könnte man mittels VBA einen Transfer der 'ApplicantID' und der 'UniJobID' in die Tabelle 'ApplicantHavinJob' vernalassen, wenn Successful auf Ja gestellt wird.
Heißt dass also für mich, dass ich das vernachlässigen kann und quasi für eine (fiktive) spätere Benutzung erstellt habe?

Ich würde jetzt so vorgehen dass ich die Tabellen mit jeweils 10 Bewerbern, 10 Unis, 10 Jops, 10 Städten und 10 Skills "füttern" würde. Dann würde ich mir ein Szenario ausdenken, in dem ich die Jops / Bewerber mit Skills und Städten verknüpfen würde und die Jops "verteilen" würde.
Danach kann ich dann ja die Abfragen und Reports implementieren und die NaviLeiste umsetzen. Macht doch Sinn, oder?  ???

Nochmal ein riesen Danke an euch beide! Super Hilfe!

Mfg

database

Hallo,

"... Heißt dass also für mich, dass ich das vernachlässigen kann  ..."
Nein, das heißt das nicht - sonst ist die Funktionalität nicht gegeben, dass ein Bewerber nur einen Job annehmen kann.
Diesen Transfer kann man unter anderem auch mit Macros lösen.

Ich würde dir - um die nächste Frage zu beantworten - diese Tabellen ebenfalls mittels Dateneingabe in geeignete Formulare vornehmen.
Du brauchst dir auch weiter keine Szenarien zusammendichten, DAS Datenmodell muss gewährleisten, dass ALLE Forderungen an die Datenbank erfüllt werden können.
Die entsprechenden Eingaben werden dann OHNE weitere Verknüpfungen zu erfinden mittels Formularen getätigt.
Die Formulare bauen in der Regel auf Tabellen und/oder Abfragen auf in denen die benötigten Verknüpfungen (Relationen) bereits erstellt sind.
Weiter sind dann auswertende Abfragen zu erstellen und Berichte auf diesen aufzubauen.
Einen Aufruf der Berichte wirst du dann über die 'NaviLeiste' realisieren können.

M@xi

Tut mir leid aber ich tue mich wirklich schwer das alles zu begreifen.. und vor allem auch es in Bezug zu meiner Aufgabe zu bringen...
Ich habe mittlerweile fast alle Tabellen (manuell) mit Daten versehen. Es gibt nun diverse Jobs, Skills, Bewerber, Unis etc. die einzigen Tabellen die ich noch nicht gefüllt habe sind Interviews, BewerberHatJob und BewerberHatSkill.. Ich weiß nur einfach nicht ob ich überhaupt auf dem richtigen Weg bin und nicht einfach nur alles falsch mache -.-'
Vor allem verwirren mich aber auch die "Verknüpfungstabellen" - vom Prinzip sind die klar - nur die Subdatasheed's in den äußeren Tabellen bringen mich dann wieder total durcheinander..

Ich habe für die Uni's auch schon ein Formular (mit Macro) erstellt, über das man weitere Uni's hinzufügen kann (ohne bei Index 1 anzufangen) - und das funktioniert.

Ich tue mich einfach sehr schwer vernünftig an etwas zu arbeiten ohne wirklich zu wissen ob ich es richtig mache.. es geht immerhin auch um etwas (30% der Note).
Kann ich dir vielleicht mal meine bisherige Arbeit per PM schicken und du wirfst einen Blick drauf?

Mfg Marcel

database

Hallo,
deine DB komprimieren/reparieren, danach zippen und hier im Forum hochladen.
Ich habe nicht immer Zeit und so haben auch die anderen hier die Möglichkeit dir einen Rat zu erteilen.  :D

M@xi

Moin,

also ich habe jetzt schon ordentlich weiter gearbeitet und bin zuversichtlich dass bisher alles so stimmt. Ich habe angefangen Formulare, Abfragen und Reporte zu erstellen und bisher scheinen alle zu funktionieren wie sie sollen.

Nun stehe ich allerdings mal wieder vor einem Problem.. Ich würde gerne ein Formular erstellen, um einen neuen Bewerber in die Datenbank aufzunehmen. Allerdings möchte ich, neben seinen Informationen auch direkt angeben welche Skills er hat. Ich habe das schon über "check-boxen" versucht, hat allerdings nicht geklappt :\ ..ich vermute, dass muss iwie im Zusammenhang mit Macros realisiert werden, allerdings wüsste ich nicht wie ich die Bedingungen formuliere :\ (if-anweisungen etc.?)
Ich hatte die Idee das man ein Formular hat, wo man alle Informationen zum neuen Bewerber eingibt und unten alle Skills aufgelistet hat und anklicken kann, über welche er verfügt. Dies müsste dann natürlich auch in der Tabelle "ApplicantHavingSkills" übertragen werden - hinzu kommt was passiert wenn man einen Skill hinzufügt?! (obwohl das vll vernachlässigt werden kann)

Das gleiche Problem entsteht natürlich auch wenn ich einen neuen Job hinzufügen möchte, sprich direkt auch die für ihn geforderten Skills - in einem Formular.

Für Ideen, Vorschläge, generelle Kritik / Verbesserung & evtl. gefundene Fehler wäre ich sehr dankbar :)

Anbei die bisherige Datenbank + Aufgabenstellung (ich arbeite jeden Tag dran - aber dass ist der momentane aktuelle Stand).

Mfg M@xi

MaggieMay

Hallo,

ich kann die Dateien nicht entpacken, womit hast du das Zip-File erstellt?
Freundliche Grüße
MaggieMay

M@xi

Mit 7zip, da man allerdings keine .7z datein hochladen darf, hab ich die endung in .zip geäbdert. Es aber nachwievor ein Archiev. Versuch einfach mal die Endung in .rar oder .7z zu ändern :)

MaggieMay

Na, das hättest du auch gleich dazu sagen können. Allerdings klappt es immer noch nicht, Fehlermeldung: "Das Kompressionsverfahren ... wird nicht unterstützt". Ich setze 7zip Version 4.65 ein. Vielleicht kannst du ja ein kompatibleres Zip-File erzeugen.

Entwarnung:
Nach einem Update auf Version 9.20 hat es nun doch noch geklappt!
Bis später...

Nachtrag:
ZitatAllerdings möchte ich, neben seinen Informationen auch direkt angeben welche Skills er hat.
Die Frage hätte man auch ohne Einsicht in die DB beantworten können. Das löst du am besten mit Hilfe eines Unterformulars, gebunden an die Tabelle "ApplicantHavingSkills". Die Auswahl der Skills kann mit Hilfe eines Kombifeldes vorgenommen werden. Dabei sollte allerdings verhindert werden, dass Skills mehrfach ausgewählt werden können. Dazu kannst du einen eindeutigen Mehrfelderindex auf ApplicantID_F und SkillID_F legen.

Zuallererst jedoch solltest du die diversen Schreibfehler bzgl. Job und JobDescription bereinigen, sonst gibt es am Ende noch ein großes Durcheinander.
Freundliche Grüße
MaggieMay

M@xi

Das klingt ziemlich gut.. allerdings habe ich absolut keine Ahnung wie ich das umsetzen soll.. Wie genau müssten denn die Einstellungen für die Combobox lauten? Nach dem Auswählen einer Option mit der ComboBox möchte ich diese dann ja im Formular sehen, wie mache ich das? Wie genau lege ich einen Mehrfachindex auf die beiden Felder?

Schreibfehler habe ich behoben, danke :D

Mfg

M@xi

Oh evtl weiß ich was du meinst!
Ist ein Mehrfelderindex einfach ein zweiter PK in einer Tabelle? Das wäre doch in den Tabellen JobReq..Skill ebenfalls sinnvoll. Wäre es nicht weiter auch notwendig in der Tabelle AppHav..Skill einen PK auf die AppID zu legen, da jeder App nur einen Job haben darf?!

Mfg

MaggieMay

Einen zweiten PK gibt es nicht, wie der Name schon sagt, kann es nur einen "Primary Key" geben. Der PK sollte in der Regel ein Autowert-Key sein, das vereinfacht die Handhabung. Aber du kannst einen eindeutigen Index über zwei Felder hinzufügen, wobei du im Indexfenster in der Folgezeile nur das Datenfeld auswählst und die linke Spalte frei lässt. Die Eigenschaften des Index werden in der ersten Zeile festgelegt. Diese Vorgehensweise wäre wohl bei allen Verknüpfungstabellen sinnvoll.

Was die Formulare betrifft, so hast du ja bereits ein Formular "AddApplicants" auf Basis der Tabelle "Applicants". Als nächstes erstellst du ein Formular auf Basis der Tabelle "ApplicantHavingSkills", dieses fügst du dann in das erste Formular als Unterformular ein und verknüpfst es über den gemeinsamen Key, die "ApplicationID_F". Das Textfeld mit "SkillID_F" änderst du in ein Kombinationsfeld, als Datensatzherkunft nimmst du die Tabelle "Skills", Einstellung Nur Listeneinträge = Ja, gebundene Spalte ist die 1, Spaltenanzahl 2, Spaltenbreiten bspw. "0;4". Damit kannst du dann Bewerber einfügen und ändern und ihnen ihre Fähigkeiten zuordnen.

Noch ein Tipp:
Benenne die Objekte so, dass man ihren Typ sofort erkennt, auch das erleichtert den späteren Umgang damit. Also bspw. tab_xxx oder tbl_xxx für Tabellen, frm_zzz für Formulare usw.
Freundliche Grüße
MaggieMay

M@xi

Ich glaube ich meinte das gleiche wie du, wusste nur nicht wie ich es richtig ausdrücken sollte :P ..es klappt jedenfalls :D

ZitatDiese Vorgehensweise wäre wohl bei allen Verknüpfungstabellen sinnvoll.
In der AppHav..Skills jedoch nicht oder? Ich möchte jeden Bewerber nur einmal in der Tabelle haben, allerdings soll ein Jop durchaus mehrere Bewerber abbekommen können. Sprich hier soll nur die AppID einzigartig sein.

Mfg

MaggieMay

ZitatIn der AppHav..Skills jedoch nicht oder?
Doch sicher, ein Bewerber kann eine Fähigkeit doch nicht mehrfach besitzen. Aber du meintest wohl die Tabelle "ApplicantHavingJob" und damit hast du wohl Recht, sofern es nicht möglich ist, mehrere (Teilzeit-) Jobs an einer oder verschiedenen Unis anzunehmen.

ZitatSchreibfehler habe ich behoben, danke
Was das betrifft, so bin ich skeptisch, denn du weißt ja immer noch nicht, wie man's richtig schreibt. ;-)
Freundliche Grüße
MaggieMay

M@xi

Genau die meinte ich ;) ..mein Kopf schaltet sich langsam ab :P

Sagen wir so: Ich habe Jop nun überall mit b geschrieben ;P

Mfg

MaggieMay

Freundliche Grüße
MaggieMay