Neuigkeiten:

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

Mobiles Hauptmenü

Im Unterformular auf den Inhalt eines Datensatzes zugreifen

Begonnen von Rockmueller, August 07, 2012, 16:08:54

⏪ vorheriges - nächstes ⏩

Rockmueller

Sehr geehrte Damen und Herren,

ich stehe wieder vor einem Problem, dass mich hinundwieder heim sucht.
Ausgangssituation:
Ein Kontakt aus TBL_Kontakte kann in mehreren unterschiedlichen Firmen tätig sein.
>Ein Formular Kontakte-Eingabe gibt die Möglichkeit in einem Unterformular die Unternehmen zuzuweisen.
TBL_Unternehmen steht in 1-n Bez. mit TBL_Unt_Adressen, um den Firmennamen gleich zu halten, aber die Adressen der Zweigstellen abzukapseln.

Jetzt kommts:
Im Formular Kontakte-Eingabe, im Unterformular gibts ja jetzt unterschiedliche Datensätze, da mehrere Firmen möglicherweise einem Kontakt zugeordnet wurden.
Ein Kombifeld soll mir die Adressen des jeweiligen Unternehmens zur Auswahl stellen, dessen aktuellen Datensatz ich auch behandle.
Sprich: In Zeile 1 steht Unternehmen 1, welches 3 Adressen zur Verfügung hat, und ich will nur die Adressen des Unternehmens (1) sehen.

Mein Problem, ich kann als Kriterium ein Kombifeld, oder ein Steuerelement anführen, aber dann sucht er mir ja alle raus. Was mache ich falsch, bzw. wie komme ich an den Inhalt des jeweiligen Attributs aus dem entsprechenden Datensatz.

Ich hoffe Ihr konntet mir folgen und könnt mir helfen.

Ich bedanke mich.

MfG Rock
Signatur

DF6GL

Hallo,

"..ich kann als Kriterium ein Kombifeld, oder ein Steuerelement anführen, aber dann sucht er mir ja alle raus. "

ist eher etwas unglücklich beschrieben.

Ein Kombifeld kann als Datensatzherkunft eine Abfrage mit einem Kriterium (Where-Condition) erhalten, um in seinem Listenfeld-Teil die gewünschten Datensätze (zumindest einige Felder daraus) anzuzeigen (und nach einer Auswahl daraus die ID des Unternehmenszu übernehmen)
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

MzKlMu

Hallo,
wenn ein Kontakt für mehrere Firmen gelten kann, fehlt hier nach meiner Auffassung ein Zwischentabelle zur Zuordnung des Kontakts zur Firma.
In dieser Zwischentabelle wird die FirmenID und die KontaktID als Fremdschlüssel gespeichert. Das ist eine n:m Beziehung zwischen Firma und Kontakt, wozu diese 3.Tabelle erforderlich ist.
Gruß Klaus

Rockmueller

Vielen Dank für den hinweis MzKlMu,
eine Zwischentabelle existiert in der Tat.

@Df6GL, so scheint es auch der Fall zu sein, aber wie kriege ich es hin, dass er mir nur die Adressen des Unternehmens zur Auswahl stellt, welcher vorne im Datensatz angezeigt wird?
Statt die Abfrage das Steuerelement nehmen?
Signatur

Jonny

Hallo,
wie sind denn HFO und UFO verknüpft?
(siehe verknüpfen von)

Gruß

Johann

Rockmueller

Es existiert eine Zwischentabelle, in der neben den FKs(Unternehmen_ID/Kontakt_ID) die Kontaktspezifischen Daten stehen, wie Tel/Fax/Mobil.
Verknüpft ist diese in Form des Unterformulars über die Kontakt_IDs...
Signatur

Rockmueller

#6
Ich muss mir nochmal über die Beziehungen der Tabellen gedanken machen, weil es langsam kompliziert wird...

Es existieren Kontakte die in unterschiedlichen Unternehmen arbeiten können. Ein Unternehmen kann verschiedene Adressen haben. Ein Kontakt arbeitet unter diesen verschiedenen Adressen unter dementsprechenden Kontaktdaten...

Wie sehen für euch die Beziehungen aus?
Signatur

database

Hi,

nun, späte Antwort ist besser als keine  ;)

Dass ein Unternehmen mehrere Adresen haben kann ist legitim.
In der Datenbank sollten das aber eigene Unternehmen darstellen, also Firma x mit der Adresse y hat die ID 1 und Firma x mit der Adresse z hat die ID 2 ...

Kontakte und Unternehmen stellen eine n:m Beziehung dar daher:

tblUnternehmen(U_ID, U_Bezeichnung, ... )

tblKontakte(K_ID, K_Vorname, K_Nachname, ....)

tblUnternehmenKontakte (U_ID_F, K_ID_F)

ZitatEs existiert eine Zwischentabelle, in der neben den FKs(Unternehmen_ID/Kontakt_ID) die Kontaktspezifischen Daten stehen, wie Tel/Fax/Mobil.
Das ist nicht richtig, die kontaktspezifischen Daten müssen in die tblKontakte und raus aus der Zwischentabelle!

HTH

Beaker s.a.

Hallo Peter,
ZitatDass ein Unternehmen mehrere Adresen haben kann ist legitim.
In der Datenbank sollten das aber eigene Unternehmen darstellen, also Firma x mit der Adresse y hat die ID 1 und Firma x mit der Adresse z hat die ID 2 ...
Na, ob das so glücklich ist ...
Zwischen Firmen und Adressen besteht doch eine 1:n Beziehung. Da würde ich eher eine Adresse doppelt erfassen, wenn der Fall eintritt, das mehr als eine Firma an der gleichen Adresse residiert. Würde deshalb dieser Stelle auch nicht extra eine n:m Beziehung aufbauen, kommt doch eher sehr selten vor.
Die Kontakte würde ich n:m über eine Zwischentabelle mit den Adressen (so habe ich den OP jedenfalls verstanden) verbinden. Aus der Adresstabelle kann ich mir dann ja jederzeit die Firma (FK) holen.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Rockmueller

Wäre das nicht zu einfach, eine tbl_Unternehmen mit allen Unternehmen und Ihren Adressen?
Es wäre durchaus richtig.
Aber:
Nehmen wir an, wir haben die Firma Weidmüller
Weidmüller GmbH & Co. KG
Ohmstr. 9
32758 Detmold

Weidmüller Conexel do Brasil
Rua Garcia Lorca, 176
São Bernardo do Campo - SP

Weidmüller GmbH
IZ NÖ Süd
Strasse 2b, Obj. M59
2355 Wiener Neudorf
u.v.m.
wohlgemerkt, unter tbl_befinden sich 100e anderer Unternehmen, ebenfalls mehrfach.
Wenn ich dann später einen Kontakt hinzu füge der unter entsprechender Rufnummer bei Weidmüller in Österreich erreichbar ist(Keine Privatkontaktdaten, nur unternehmerisch) und vllt. sogar bei Weidmüller in Brasilien, wie soll ich die Unternehmen mit ihren bsp: 20 Adressen aus dem Wirrwarr finden?
Oder muss man(ich) das akzeptieren, dass die Firmen eigentlich rechtlich selbständig sind, und das sollten sie dann in der Relation tblUnternehmen auch sein?
Signatur

Beaker s.a.

Hallo Rockmueller,
ZitatWäre das nicht zu einfach, eine tbl_Unternehmen mit allen Unternehmen und Ihren Adressen?
Nein, das sind zwei Tabellen, Unternehmen und Adressen.
ZitatOder muss man(ich) das akzeptieren, dass die Firmen eigentlich rechtlich selbständig sind, und das sollten sie dann in der Relation tblUnternehmen auch sein?
Wenn die rechtlich selbstständig sind, dann sind das mehrere Unternehmen, und dann hatte Peter natürlich Recht, die einzeln (mit eigener ID) zu erfassen. Die Frage ist, ob da irgendwas ist, was diese Firmen gemeinsam haben, ausser einem Namensteil? Brauchst Du Auswertungen in denen die zusammengefasst werden sollen?
ZitatWenn ich dann später einen Kontakt hinzu füge der unter entsprechender Rufnummer bei Weidmüller in Österreich erreichbar ist(Keine Privatkontaktdaten, nur unternehmerisch) und vllt. sogar bei Weidmüller in Brasilien, wie soll ich die Unternehmen mit ihren bsp: 20 Adressen aus dem Wirrwarr finden?
Wie man das so macht, mit Kombi- und/oder Listenfeldern  ;)
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Rockmueller

Die Datenbank dient lediglich der Sammlung und als Nachschlagewerk für außenstehende und betriebsinterne Mitarbeiter.

Ich habe mal eine Beziehungsübersicht mit angefügt, wäre das auch in Eurem Sinn, oder noch etwas anders?
Vielen Dank für die netten Hilfen!

MfG

[Anhang gelöscht durch Administrator]
Signatur

Beaker s.a.

Hallo Rockmueller,
Bei mir würde es so aussehen (zur Diskussion gestellt).
gruss ekkehard

[Anhang gelöscht durch Administrator]
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)