Neuigkeiten:

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

Mobiles Hauptmenü

Schaltfläche und dazugehörigen Code realisieren?

Begonnen von TTB, März 12, 2016, 03:42:07

⏪ vorheriges - nächstes ⏩

TTB

Hallo liebe Accessgemeinde,

ich möchte eine Datenbank erstellen und bin dabei auf folgendes Problem gestoßen, das mich zum Verzweifeln bringt:

Ich habe 3 Tabellen:
   - eine enthält Personen, die alle in bestimmten Seminaren teilnehmen können
   - eine enthält die zugehörigen Seminare
   - und die letzte ist die Verbindungstabelle zwischen den beiden, die eine eigene ID (Primärschlüssel), die ID des Teilnehmers, die ID des Seminars und einen Status enthält (ob der angemeldete Teilnehmer erschienen ist oder abgesagt hat)

Nun möchte ich durch klick auf einen Button, der sich im Hauptformular für die Teilnehmer befindet folgendes erreichen, wobei einiges schon fertig ist:
   - es öffnet sich ein neues (PopUp-)Formular, das ein Listenfeld enthält (Pro Zeile einige Daten zum Seminar - also eine Zeile = ein Seminar)
   - nach Doppelklick auf die entsprechende Zeile/das Seminar soll sich das PopUp schließen
   - bis hier hin bin ich soweit gekommen was mir jetzt noch fehlt ist im Prinzip das wichtigste:

   - "wie schaffe ich es, dass nach der oben beschriebenen Prozedur die ID des Teilnehmers und die ID des Seminars beide in einen neuen Datensatz in der Verbindungstabelle abgespeichert werden?"

Ich steh da wirklich auf dem Schlauch und bin über jede Hilfe dankbar


Chris

DF6GL

#1
Hallo,

ob die beschriebene Prozedur überhaupt so geeignet ist, möchte ich zunächst bezweifeln...


Ich nehme an, die Db soll eine Seminar-Verwaltung bewerkstelligen.


Dann ist der Tabellenaufbau noch nicht korrekt, bzw. vollständig und sollte überarbeitet werden, bevor Formular-Ablaufsteuerungen in Angriff genommen werden.



Minimal-Konstruktion:


tblPersonen
PersID  (PK)
. Alle Angaben zur Person
.
.


tblSeminare
SemID (PK)
. Alle Angaben zu den ingesamt angebotenen Seminaren
.
.

tblSemPers
SPID  (PK)
SP_PersID (FK zu tblPersonen)
SP_SemID (FK  zu tblSeminare)
SP_VeranstaltetAm (Datum/Uhrzeit)
SP_Teilgenommen   (Ja/Nein)
.
.
.


Beziehungen über die Schlüsselfelder:

tblPersonen  --  1-n --     tblPersSem   -- n:1 --  tblSeminare


Formulare:

frmPersonen    Einzelform zur Verwaltung der Personen
Datenherkunft: tblPersonen

frmSeminare    Einzelform zur Verwaltung der Seminare
Datenherkunft: tblSeminare

Darin eingebaut ein UFO-Steuerelement , das das nachfolgend beschrieben  Form anzeigt und das über die entspr. Schlüsselfelder verknüpft.


frmSemPers
Endlosform mit Datenherkunft tblSemPers.
An "SP_PersID" gebundenes Kombifeld für die Auswahl der Person(en)  (Teilnehmer) .
Datensatzherkunft:  select PersID , Pers_Nachname, Pers_Vorname from tblPersonen order by Pers_Nachname

Spaltenanzahl: 3
Spaltenbreiten: 0cm; 4cm; 4cm


Wie oben gesagt, ist das eine Minimalkonstruktion. Für die Datenpflege sind aber keine weiteren Formulare (oder andere Klimmzüge) erforderlich.

Finden bestimmte Seminare wiederholt statt, so sind weitere Tabellen (tblSeminarveranstaltungen)  erforderlich, die eben diese Situation abbilden können.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

TTB

Hallo und Danke für die Hilfe!

Mittlerweile habe ich es so realisiert, wie ich es mir vorgestellt habe:

beim Öffnen des Formulars, in dem dann das Seminar ausgewählt wird, an dem teilgenommen wurde, wird ein Wert (die ID der Testperson) an dieses übergeben und dann zusammen mit der ID des Seminars in die Tabelle Teilnahmen geschrieben.

Danke für die Hilfe