Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Rockmueller am August 07, 2012, 16:08:54

Titel: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Rockmueller am August 07, 2012, 16:08:54
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
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: DF6GL am August 07, 2012, 16:19:17
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)
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: MzKlMu am August 07, 2012, 17:08:28
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.
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Rockmueller am August 10, 2012, 12:02:41
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?
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Jonny am August 10, 2012, 12:17:31
Hallo,
wie sind denn HFO und UFO verknüpft?
(siehe verknüpfen von)

Gruß

Johann
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Rockmueller am August 10, 2012, 13:19:55
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...
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Rockmueller am August 10, 2012, 13:23:19
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?
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: database am August 15, 2012, 10:15:26
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
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Beaker s.a. am August 15, 2012, 13:40:30
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
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Rockmueller am August 15, 2012, 16:00:35
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?
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Beaker s.a. am August 15, 2012, 17:13:34
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
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Rockmueller am August 15, 2012, 17:17:52
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]
Titel: Re: Im Unterformular auf den Inhalt eines Datensatzes zugreifen
Beitrag von: Beaker s.a. am August 15, 2012, 17:52:35
Hallo Rockmueller,
Bei mir würde es so aussehen (zur Diskussion gestellt).
gruss ekkehard

[Anhang gelöscht durch Administrator]