Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Formular mit 2 abhängigen Tabellen
zurück: Vom Formular auf Tabellezugreifen weiter: Eingabe in Textfeld gesperrt Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
HansWerner
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Jun 2011, 13:29
Rufname:

Formular mit 2 abhängigen Tabellen - Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Ich übe mal wieder die Erstellung einer Datenbank.
Leider funktioniert es wieder mal nicht.
Ich habe 2 Tabellen (Personen und Lehrer).
Die Tabelle Personen hat den Eintrag "Person" als Primärindex (Autowert).
Die Tabelle Lehrer hat den Eintrag "Lehrer" als Primärindex (Zahl).
Die Verknüpfung Person-Lehrer (1-zu-1 Verknüpfung):
Beinhaltet ALLE Datensätze aus 'Personen' und nur die Datensätze aus 'Lehrer', bei denen die Inhalte der verknüpften Felder beider Tabellen gleich sind.
Nun habe ich ein Formular "Einstellung" erstellt in welches sowohl Felder der Tabelle "Person" als auch Felder der Tabelle "Lehrer" eingegeben werden können.
----------------------------------------------------------------------------------------------
Es existieren natürlich auch noch andere Tabellen wie z.B. "Schüler".
Die Tabelle "Personen" soll für alle Schüler, Lehrer, Eltern usw. die allgemeinen Daten wie Name, Geburtsdatum, Geburtsort usw. aufnehmen.
Die anderen Tabellen wie "Schüler", "Lehrer" usw. sollen nur die zusätzlichen Daten aufnehmen.
----------------------------------------------------------------------------------------------
Nun tritt folgender Fehler auf:
Da nach dem Ausfüllen der Datenfelder der Tabelle Person diese noch nicht abgespeichert wurden, existiert kein entsprechender Datensatz in der Tabelle "Person". Das Datenfeld "Einstellung" mit dem Bezug zur Tabelle "Lehrer" kann nicht ausgefüllt werden da noch kein entsprechender Datensatz in der Tabelle "Person" existiert.
Wenn ich es richtig verstehe muß ich während des Ausfüllens des Formulars zwischendurch einen neuen Datensatz in der Tabelle "Personen" anlegen um das Formular weiter ausfüllen zu können.
Wie kann ich das möglichst einfach bewerkstelligen ?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
03. Jun 2011, 13:50
Rufname:
Wohnort: NRW


AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Hallo,

am besten, du legst für die Lehrerdaten ein separates Formular an und fügst es als Unterformular in das Personen-Formular ein.

_________________
Gruß MissPh!
HansWerner
Im Profil kannst Du frei den Rang ändern


Verfasst am:
05. Jun 2011, 15:43
Rufname:

AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Habe ich noch nicht ausprobiert.
Ich habe jedoch schon ein Unterfomular in das die Adressen eingegeben werden sollen.
Etwas umständlich wenn für jede Tabelle ein eigenes Unterformular angelegt werden muß.
derArb
getting better


Verfasst am:
05. Jun 2011, 16:02
Rufname: derArb
Wohnort: Berlin

AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Hallo,
dann trenn doch die Tabellen in logische Einheiten
tbl_Lehrer
lehr_id (autowert)
lehr_vname
lehr_nname
lehr_plz
lehr_strasse
lehr_ort
lehr_geburtsdatum
usw.

tbl_Schueler
schu_id
schu_vname
schu_nname
schu_plz
schu_ort
schu_strasse
schu_geburtsdatum

dann brauchste keine UFOS für die Datenerfassung

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
05. Jun 2011, 16:26
Rufname:
Wohnort: NRW


AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

@derArb: Sorry, aber dein Tipp widerspricht den Grundregeln der Normalisierung und sollte daher eher nicht umgesetzt werden. Der Threadstarter war durchaus schon auf dem richtigen Weg mit seinem Tabellenkonzept und der Einsatz von Unterformularen ist eine logische Konsequenz daraus. Wie sonst sollten wohl die Beziehungen der Tabellen untereinander auf so einfache Art und Weise sichergestellt werden.
_________________
Gruß MissPh!
derArb
getting better


Verfasst am:
05. Jun 2011, 16:36
Rufname: derArb
Wohnort: Berlin

AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Hallo,
@MissPh!: Smile welcher Widerspruch?
Alles ist nach wie vor atomar und keine Redundanz vorhanden.
Alles kann über Schlüsselfelder zusammengefasst werden.
Aber ich lerne gerne, wo mein Denkfehler sein könnte.

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
05. Jun 2011, 17:54
Rufname:
Wohnort: NRW

AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Hi,
ich meine die doppelten bzw. mehrfach definierten (-> Lehrer, Schüler, Eltern, ...) pesonenbezogenen Datenfelder. Da finde ich das ursprüngliche Konzept, gleichartige Daten in einer Tabelle zu führen und die spezifischen Zusatzinformationen in weiteren Tabellen zu speichern, einfach besser.

_________________
Gruß MissPh!
derArb
getting better


Verfasst am:
05. Jun 2011, 18:08
Rufname: derArb
Wohnort: Berlin

AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Hallo,
wobei sowohl die Kundenversion, welche Du unterstützt, als auch meine Version
nicht gegen die Normalisierungskonventionen verstösst.
Ist wohl eher eine Philosophie-Angelegenheit und ganz sicher kein Streitpunkt zwischen uns.
Ich finde meine Version übersichtlicher und nicht verboten.
Normalisierung kann auch in Übernormalisierung enden.

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
05. Jun 2011, 18:21
Rufname:
Wohnort: NRW

Re: AW: Formular mit 2 abhängigen Tabellen - Re: AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

derArb - 05. Jun 2011, 18:08 hat folgendes geschrieben:
Normalisierung kann auch in Übernormalisierung enden.
Da stimme ich dir gerne zu! Wink

Warten wir also ab, was der Threadstarter dazu sagt.

_________________
Gruß MissPh!
astern
Datenmodell-Missionar


Verfasst am:
06. Jun 2011, 07:39
Rufname: Andreas
Wohnort: Rastede

AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Hallo!
Ich habe in all den Jahren, in denen ich mich mit Access beschäftige, noch nie eine 1:1-Beziehung gebraucht. Darum bin ich der Meinung, dass sie FAST NIE gebraucht werden. Der einzige mir bekannte Fall, wo eine 1:1-Beziehung wirklich Sinn macht, ist mir hier untergekommen: Re: AW: Netzwerkverkabelung Dokumentieren

Im vorliegenden Fall würde ich auch keine 1:1-Beziehung nutzen, sondern separate Tabellen tblLehrer und tblSchueler anlegen - ansonsten handelt man sich nur Probleme ein (Darum ja auch die Frage hier ;-). Wenn es dann aber unbedingt sein soll, muss man zwei Sachen beachten:

(1) bei der Datenmodellierung: Man stellt zunächst eine normale 1:n-Beziehung zwischen Primärschlüssel in der einen Tabelle (hier tblPerson) und Fremdschlüssel in der anderen Tabelle (hier tblLehrer und tblSchueler) her. Dann legt man für den Fremdschlüssel fest: "Indiziert = Ja (Ohne Duplikate)". Erst dann wird die Beziehung unter Datenbanktools / Beziehungen auch als "1:1" angezeigt!

(2) bei der Formularentwicklung: Es tritt genau der hier beschriebene Fall ein: So lange der Primärschlüssel nicht existiert, kann man den Fremdschlüssel nicht eintragen. Darum muss man in jede AfterUpdate-Prozedur der Textfelder mit Daten der übergeordneten Tabelle (hier tblPerson) das Kommando
Code:
DoCmd.RunCommand (acCmdSaveRecord)
einbauen. Dann werden diese Daten immer sofort nach der Eingabe gespeichert und der Primärschlüssel existiert bereits, wenn man beginnt, Daten in die untergeordnete Tabelle (hier tblLehrer bzw. tblSchueler) einzugeben. Man muss nur durch entsprechende Deaktivierung und Aktivierung der Eingabefelder dafür sorgen, dass der Nutzer zuerst die Daten in die übergeordnete Tabelle eingeben muss.

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!
HansWerner
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. Jun 2011, 10:15
Rufname:

AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Vielen Dank für die Antworten.

derArb

Zwei im Prinzip identische Tabellen mit denselben Datenfeldern zu erstellen wollte ich eben vermeiden.
Im Sinne der objektorientierten Programmierung wollte ich eine Tabelle "Personen" definieren und hiervon die Tabellen "Schüler" und "Lehrer" davon ableiten bzw. die Tabellen sollen nur die spezifischen Datenfelder aufnehmen. Die Tabelle "Personen" bieten gleichzeitig die Möglichkeit eine n:m Beziehung zu einer Tabelle "Adressen" herzustellen. Alle Personen haben ein oder mehrere Adressen; mehrere Personen können ein und dieselbe Adresse haben. Ich benötige dann keine Tabelle "AdressenLehrer", "AdressenSchüler", "AdressenEltern" usw.
Hierbei tritt das von mir beschriebene Problem mit dem Formular über mehrere Tabellen auf.
1:1 Beziehungen sind nur sinnvoll wenn Untermengen vorhanden sind, wie im vorliegenden Fall. Jeder Schüler und jeder Lehrer ist eine Person aber nur ein Teil der Personen ist Schüler ein anderer Lehrer. Schüler sollen nicht gleichzeitig Lehrer sein können. Lehrer können jedoch Eltern eines Schüler sein. Dies mit objektorientierten Programmiersprachen zu modellieren ist kein Problem, aber wie modelliere ich dies in einer relationalen Datenbank ? Wie modelliere ich Schnittmengen, wenn ich beispielsweise Kunden und Mitarbeiter habe, ein Mitarbeiter aber auch gleichzeitig Kunde sein kann ? Was wenn ein Kunde sowohl Natürliche Person oder auch Juristische Person (Firma) sein kann ? Idealerweise definiert man eine Tabelle "NatürlichePersonen" und eine Tabelle "JuristischePersonen" und leitet hiervon ab.
astern
Datenmodell-Missionar


Verfasst am:
08. Jun 2011, 13:02
Rufname: Andreas
Wohnort: Rastede


AW: Formular mit 2 abhängigen Tabellen - AW: Formular mit 2 abhängigen Tabellen

Nach oben
       Version: Office 2003

Hallo!
Das mit den Schnittmengen ist meiner Meinung nach kein Problem. Wenn jemand sowohl Kunde als auch Mitarbeiter ist, dann enthält die Tabelle tblPerson eben die gemeinsamen Merkmale (z.B. Name, Vorname) und die Tabelle tblKunde enthält die Kundenmerkmale der Person und die Tabelle tblMitarbeiter enthält die Mitarbeitermerkmale der Person.
Will man eine Liste aller Kunden mit ihren Daten haben, dann sucht man halt nach gleichen Schlüsselwerten in tblPerson und tblKunde; entsprechend bei Mitarbeitern.

Übrigens: Auch bei getrennten Tabellen tblSchueler und tblLehrer bräuchtst Du keine zwei Tabellen tblAdresseLehrer und tblAdresseSchueler, sondern nur EINE Tabelle tblAdresse mit ZWEI Beziehungen zu tblLehrer und zu tblSchueler!

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle mit Beziehung zu anderen Tabellen updaten - wie ? 4 miredoju 2684 15. Jun 2004, 10:24
miredoju Tabelle mit Beziehung zu anderen Tabellen updaten - wie ?
Keine neuen Beiträge Access Tabellen & Abfragen: Suchen in Formular 1 Sumo_Racer 1092 28. Mai 2004, 21:59
lothi Suchen in Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Löschabfrage -> findet Tabellen nicht (GELÖST) 14 DAU 5674 26. Mai 2004, 13:18
DAU Löschabfrage -> findet Tabellen nicht (GELÖST)
Keine neuen Beiträge Access Tabellen & Abfragen: Access Formular 2 Mielke 951 06. Mai 2004, 21:49
Hausmeister Access Formular
Keine neuen Beiträge Access Tabellen & Abfragen: aufklappbare Tabellen 1 Acco 1450 28. Apr 2004, 16:15
KatjaS aufklappbare Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellen befüllen lassen 1 Cresito 1049 28. Apr 2004, 09:45
lupos Tabellen befüllen lassen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellen und Abfragen vor Veränderung schützen. 3 Gast 1549 08. Apr 2004, 09:43
lothi Tabellen und Abfragen vor Veränderung schützen.
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: einträge aus tabelle in formular anzeigen u. speichern 1 gast 1161 25. März 2004, 09:33
Willi Wipp einträge aus tabelle in formular anzeigen u. speichern
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus zwei Tabellen in einem Formular ohne Unterformul 4 Hippolytus 749 09. März 2004, 15:07
Hippolytus Abfrage aus zwei Tabellen in einem Formular ohne Unterformul
Keine neuen Beiträge Access Tabellen & Abfragen: Aus Listenfeld Datensatz auswählen --> in neuem Formular 1 access_Newbee 825 08. März 2004, 15:48
lothi Aus Listenfeld Datensatz auswählen --> in neuem Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld im Formular als Kriterium für eine Abfrage 1 gunderma 2621 03. März 2004, 10:05
tania63 Kombinationsfeld im Formular als Kriterium für eine Abfrage
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editor Forum