Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: rbordt am November 06, 2018, 18:32:27

Titel: Formular mit unterschiedlich vielen Eingabefeldern
Beitrag von: rbordt am November 06, 2018, 18:32:27
Guten Abend,

ich bin gerade dabei mir mein erstes eigenes "Verwaltungssystem" für meine Schüler zu basteln.
Mit welchem ich mittels eines Formulars am Anfang eines Schuljahres jeden Schüler aufnehmen kann und mir per Abfrage dann einen Bericht über ihn generieren kann.

Dafür nehme ich Anfang Daten auf wie Name Adresse Alter usw.

Nun stehe ich nur vor dem Problem, dass diese Schüler schon etwas Älter sind und auch schon eine Unterschiedliche Anzahl von Ausbildungen genossen haben.

Diese würde ich gerne miteingeben können.
Ich würde dazu nun gerne unter der Rubrik "Ausbildung" des jeweiligen Schülers auswählen können wie viele Ausbildungsstationen er hatte.
Um diese dann mittels Textfelder füllen zu können.

Für Tipps und Anregungen oder auch sinnvolle (zielorientierte) literatur bin ich sehr Dankbar

Schönen Abend

Richard
Titel: Re: Formular mit unterschiedlich vielen Eingabefeldern
Beitrag von: MzKlMu am November 06, 2018, 19:03:25
Hallo,
wer in einer Datenbank unterschiedlich viele Felder benötigt bzw. glaubt zu benötigen hat schon verloren.  ;D Und befreie Dich von jedem Gedanken an Excel. Datenbanktabellen werden anders aufgebaut.

Das ist eine klassische n:m Beziehung mit 3 Tabellen.
- Schüler
- Ausbildung
- Schülerausbildung

In der 3. Tabelle wird jedem Schüler seine Ausbildung als je ein Datensatz zugeordnet. In dieser Tabelle wird als der PS des Schülers und der PS der zutreffenden Ausbildung jeweils als FS gespeichert.
PS=Primärschlüssel FS=Fremdschlüssel

Das Formular braucht dann keine unterschiedlichen Eingabefelder.

Siehe hierzu:
http://allenbrowne.com/casu-23.html
Studenten=Schüler, Sport=Ausbildung
Und Grundlagen bzw. Kurs zu Access
https://www.access-tutorial.de/

PS:
Das Alter darf nicht in die Tabelle, denn das Alter ist täglich anders. Das Alter wird aus dem Geburtsdatum errechnet, aber nicht gespeichert.