Access-o-Mania

Access-Forum (Deutsch/German) => Access-Hilfe => Thema gestartet von: radium87 am März 30, 2013, 18:54:17

Titel: Teilnehmerverwaltung
Beitrag von: radium87 am März 30, 2013, 18:54:17
Hallo zusammen,

ich bin relativ neu noch im Umgang mit Access. Ich möchte eine Datenbank zur Verwaltung von Mitarbeitern im Bezug auf Fortbildung machen.
Es soll bei den Mitarbeitern verbucht werden an welchen FB´s diese Teilgenommen haben.
Wenn ich eine Fortbildung erstelle habe ich durch eine Abfrage die Mitarbeiter Namen ausgelesen in einem Listenfeld.
Wie kann ich das jetzt am besten umsetzten das 1. die im Listenfeld ausgewählten MA in einer Tabelle gespeichert werden und 2. es dem jeweiligen MA gutgeschrieben wird in den persönlichen Stammdaten.

Tabellen:
TABMitarbeiter: ID,Nachname,Vorname,...
TABFortbildung: ID,Thema,Dozent,Ort,Beginn,Ende,Teilnehmer

LG
Titel: Re: Teilnehmerverwaltung
Beitrag von: MzKlMu am März 30, 2013, 19:50:00
Hallo,
Dir fehlt noch eine Tabelle und bestehende sind zu ändern.
ID nicht einfach ID nennen und das Feld Teilnehmer in der Fortbildungstabelle ist zu löschen.

TABMitarbeiter: MitarbeiterID,Nachname,Vorname,...
TABFortbildung: FortbildungID,Thema,Dozent,Ort,Beginn,Ende

Neue Tabelle:
TABTeilnahmen: TeilnahmeID, MitarbeiterID_F, FortbildungID_F 

In der 3. Tabelle wird die MitarbeiterID und die FortbildungID jeweils als Fremdschlüssel gespeichert.
In jeweils einem Datensatz. 10 Teilnehmer = 10 Datensätze je Fortbildung mit immer der gleichen FortbildungID.
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 30, 2013, 20:14:28
Danke für die schnelle Antwort und wie "vernetz" ich das am besten untereinander damit das funktioniert sowie ich es haben möchte ? Lg
Titel: Re: Teilnehmerverwaltung
Beitrag von: MzKlMu am März 30, 2013, 20:22:09
Hallo,
Zitatund wie "vernetz" ich das am besten untereinander damit das funktioniert sowie ich es haben möchte
Über die Schlüsselfelder sind die Beziehungen zu erstellen, 1:n mit referentieller Integrität.

Dann ein Hauptformular zur Anzeige der Fortbildung und darin einem Unterformular zur Anzeige der TABTeilnahmen.
Auswahl des teilnehmenden MAs erfolgt mit einem Kombi.
Hafo und Ufo müssen über die Schlüsselfelder verknüpft werden.
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 30, 2013, 20:54:12
Zum Datensatz speichern einfach nen Button zum Datensatz speichern oder muss ich da noch eine zusatzfunktion draufpacken?
Titel: Re: Teilnehmerverwaltung
Beitrag von: MzKlMu am März 30, 2013, 20:55:24
Hallo,
Du brauchst keinen Button zum Speichern, das macht Access automatisch.
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 30, 2013, 23:45:34
Hi,

schon mal Danke für die gute Hilfe, dennoch habe ich iwie einen hänger bei der Umsetzung des Unterformulars.
Ich dachte an ein Listenfeld mit Mehrfachauswahl wo die Namen drin erscheinen und wenn ich diese markiere, dass diese dann in die Teilnahmer TB geschrieben werden.
Oder wie setze ich sowas am Besten um?

Sorry aber stehe noch sehr am Anfang damit =)

LG
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 31, 2013, 00:40:36
so hat soweit geklappt =) nur eins habe ich in dem UFO sind ja nur die ID´s ersichtlich kann ich dort auch die Namen einstellen damit die Auswahl erleichtert wird, da ich bei der Zahl von Mitarbeitern mir nicht jede ID merken kann .

LG
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 31, 2013, 01:08:11
Habs wie folgt gelöst, Zumindest das ich diese in der Auswahl sehe:

Im UFO Listenfeld/MitarbeiterID_F Eigenschaften folgendes geändert.

Herkunftstyp : Tabelle/Abfrage
Datensatzherkunft : SELECT TABMitarbeiter.MitarbeiterID, TABMitarbeiter.Nachname FROM TABMitarbeiter;
im Reiter Format:

Spaltenanzahl : 2
Spaltenbreite : 0;4

Leider werden die Namen somit aber noch nicht in der Ausgabe ausgeschrieben angezeigt sondern nur als ID gibt's dafür noch eine Lösung?
Titel: Re: Teilnehmerverwaltung
Beitrag von: database am März 31, 2013, 10:13:34
Hallo,

also mit den Eistellungen, die du da angegeben hast solltest du die MitarbeiterID gar nicht sehen können.
Hast du das Formular schon einmal aktualisiert - gespeichert, und neu geöffnet?

Was ich aber nicht ganz verstehe - was machst du mit dem Listenfeld ?

Du solltest lt. Empfehlung von MzKlMu doch ein Unterformular einsetzen.


p.s. ich habe dir ein simples Beispiel erstellt und angehängt!

[Anhang gelöscht durch Administrator]
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 31, 2013, 10:39:31
Hi,

Das is das kombifeld im unterformular wenn ich da auf die Auswahlmöglichkeit klicke sehe ich nun unten ID und dazu den Namen, nur wenn ich diesen auswähle sehe ich dann nur die IDS der Mitarbeiter in der Tabelle , meine frage ist ob ich der Tabelle sagen kann das er mir nach der MA Auswahl den Namen anzeigt anstatt der id.

Hoffe war einigermaßen verständlich .

Lg
Titel: Re: Teilnehmerverwaltung
Beitrag von: database am März 31, 2013, 10:55:07
Hallo,
Tabelle kannst du gar nichts sagen .. die speichert nur deine Eingaben.

Du kannst das angezeigte Tabellenfeld im UFO zu einem Kombifeld ändern.
In diesem gibst du die Datenherkunft an, bestimmst die gebundene Spalte, die Spaltenanzahl und deren Breiten.

Das war' dann aber auch schon ...

Sieh dir mein Beispiel vom vorigen Beitrag an, da habe ich das so dargestellt.

Titel: Re: Teilnehmerverwaltung
Beitrag von: MzKlMu am März 31, 2013, 11:02:59
Hallo,
ZitatIm UFO Listenfeld/MitarbeiterID_F Eigenschaften folgendes geändert.
Ein Listenfeld ist hier ungeeignet, ein einfaches Kombinationsfeld reicht bzw. ist hier besser.
ZitatLeider werden die Namen somit aber noch nicht in der Ausgabe ausgeschrieben angezeigt sondern nur als ID gibt's dafür noch eine Lösung?
Erstelle eine Abfrage mit der Tabelle "TABMitarbeiter" und der Tabelle "TABTeilnahmen" (mit der Beziehung), dann hast Du alle Felder aus beiden Tabellen zur Anzeige zur Verfügung.
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 31, 2013, 12:39:50
Alles klar werd ich nachher im Büro mal umsetzen vielen dank!
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 31, 2013, 22:23:12
Ein Problem habe ich da jetzt möchte ich einen Mitarbeiter oder eine Fortbildung löschen via Button kommt die Meldung das diese ja mit der TABTeilnahme in einer Beziehung steht. Welche Möglichkeiten habe ich das nun zu beheben das ich einfach eine FB oder einen MA löschen kann?
Titel: Re: Teilnehmerverwaltung
Beitrag von: MzKlMu am März 31, 2013, 22:52:57
Hallo,
Du bist hier etwas auf dem Holzweg. In einer Datenbank löscht man keine Daten die mal gültig waren.
Bei gesetzter referentieller Integrität (was unbedingt sein sollte) geht das auch gar nicht so ohne weiteres, wie Du gerade merkst. Du kannst bei der RI Löschweitergabe einstellen, dann wird aber bei Löschung eines MA oder einer FB alle zugehörige Daten der Teilnahmen auch einfach ohne Rückfrage gelöscht. Und wenn die Löschweitergabe nicht gesetzt ist, ist das Löschen nicht möglich. Auch nicht mit Tricks.

Daher lässt man die Daten wo sie sind und nimmt z.B. ein Ja/Nein Feld auf das die Daten als Inaktiv kennzeichnet. Die Inaktiven DS können dann weggefiltert werden, bleiben aber in der DB.
Titel: Re: Teilnehmerverwaltung
Beitrag von: radium87 am März 31, 2013, 23:32:57
Alles klar  ;)

dann werde ich mich mal an die Berichte machen. Danke euch allen!