Neuigkeiten:

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

Mobiles Hauptmenü

Anfängerfrage zu Beziehungen

Begonnen von TomT, August 28, 2014, 09:48:58

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

verbinde tblBeitragssatz.bsatz_Jahr mit tblMitgliedschaft.mschaft_Jahr
lösche tblMitgliedstyp_ID -- tblBeitragssatz.Beitragstyp_ID_f
Benenne Beitragstyp_ID_f  um in Mitgliedertyp_ID_F
Verbinde tblMitgliedschaft.Mitgliedertyp_ID_F  mit tblBeitragssatz.Mitgliedertyp_ID_F

(bessere Benamsung wäre von Vorteil...)

Für das (Unter-) Formular könntest Du dann als Datenherkunft etwa eine solche Abfrage einsetzen:

Select * from tblMitgliedschaft, tblBeitragssatz inner join tblMitgliedschaft.Mitgliedertyp_ID_f tblBeitragssatz.Mitgliedertyp_ID_F  and  tblMitgliedschaft.mschaft_Jahr =tblBeitragssatz.bsatz_Jahr


Oder bei der Dlookup-Funktion:

=Domwert("bsatz_Betrag";"tblBeitragssatz";"bsatz_Jahr=" & [mschaft_Jahr] & " and Mitgliedertyp_ID_F = " & [Mitgliedertyp_ID_F]")


sofern die im UFO stehenden Felder für das Jahr und den Typ so lauten: "mschaft_Jahr" und "Mitgliedertyp_ID_F"
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

TomT

Hi,
erstmal vielen Dank für Deine Mühe!
Das ich aber nicht einfach nur "nachbauen" sondern auch verstehen möchte hätte ich zunächst zwei Fragen:

Was bewirkt die Beziehung zwischen bsatz_Jahr und mschaft_Jahr; es ist ja keine 1:n Beziehung?

Ein Problem ergibt sich aber für mich auch beim letzten Schritt:
"Verbinde tblMitgliedschaft.Mitgliedertyp_ID_F  mit tblBeitragssatz.Mitgliedertyp_ID_F"
Da tblMitgliedschaft.Mitgliedertyp_ID_F ja mit tblMitgliedstyp_ID verbunden ist fragt Access ob ich die Verbindung bearbeiten will.
Sollen da wirklich zwei Fremdschlüssel miteinander verbunden werden? Da fehlt mir das Verständnis.

Gruß Thomas

DF6GL

Hallo,


Beziehungen müssen zwangsläufig nicht 1:n-Beziehungen sein.
Siehe meinen Hinweis im vorletzten Post.

Die beiden Verbindungen stellen eine Verknüpfung über einen zusammengesetzten Schlüssel dar (Jahr und Typ), der einen eindeutigen Beitragssatz definiert.

Access meckert deswegen, weil es sich "wundert" , eine weitere Beziehung zu einer vorhandenen aufstellen zu müssen.  Lass Access sich ruhig wundern... ;)
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

TomT

Ok, dann sieht es jetzt so aus !?

DF6GL

Hallo,

ja..., versuch es halt mal so mit einer Abfrage für das Ufo, bzw. der Dlookup-Funktion wie beschrieben.
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

TomT

Ja da bin ich doch einen Schritt weiter....
Zunächst gab es noch einen Fehler, in der Formel für den DomWert fehlte ein " nach dem letzten &.
Im Ergebnis gibt es aber jetzt doch noch einen Fehler. Ich hab das mal als Bild angehangen.

Das Mitglied Thomas Kuntze ist im Jahr 2010 aktives Mitglied und dementsprechend wird der Betrag von 100 € angezeigt. Im Jahr 2011 ist er aber passiv und da wird aber auch der Betrag für aktive Mitglieder angezeigt.

Jetzt suche ich ob es an einer Beziehung liegt oder an der Formel des DomWertes?

Gruß Tom

DF6GL

Hi,

was hast Du denn nun gemacht?

Hat das UFO eine verknüpfende Abfrage und das Beitragsfeld ist an das entspr. Tabellenfeld gebunden  oder zeigst Du das Ergebnis einer Dlookup-Funktion mit dem Formular-Textfeld an?

Zeige mal den SQL-String der Abfrage (wenn zutreffend) und den Ausdruck für die Dlookup-Funktion (der im Steuerelement des Textfeldes stehen muss).
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

TomT

Hi,
keine Abfrage, und Inhalte hab ich mal ins Bild eingeschrieben.

TomT

Hier im Anhang mal die db in einem .zip

DF6GL

#24
Hallo,

benenn die Textfelder (bzw. Steuerelemente) genau so wie die daran gebundenen Tabellenfelder. Mit zusätzlich korrigierter Syntax lautet der Ausdruck so:

=DomWert("[bsatz_Betrag]";"tblBeitragssatz";"bsatz_Jahr=" & [mschaft_Jahr] & " and Mitgliedertyp_ID_F = " & [Mitgliedertyp_ID_F])

Soll die Anzeige "#Fehler"  im einem neuen Datensatz vermieden werden, kann der Ausdruck so aussehen:

=DomWert("[bsatz_Betrag]";"tblBeitragssatz";"bsatz_Jahr=" & Nz([mschaft_Jahr];0) & " and Mitgliedertyp_ID_F = " & Nz([Mitgliedertyp_ID_F];0))
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

TomT

Ah, es war also ein " zuviel und nicht zuwenig!
Jetzt klappt es so wie ich es mir dachte.
Vielen Dank für Deine Hilfe, als nächste werde ich mich jetzt erstmal damit auseinandersetzen, wie und warum es so funktioniert, ich will es ja auch verstehen.

Nochmals, vielen Dank!

DF6GL

Hallo,

nicht nur das...  es waren falsche Feldnamen angegeben, die zudem Schreibfehler hatten und die Syntax war strukturell falsch. Sieh Dir das Formular genau an und vollständig an...
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