collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 66
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14542
  • stats Beiträge insgesamt: 72938
  • stats Themen insgesamt: 9848
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 443

Autor Thema: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel  (Gelesen 409 mal)

Offline martin1991

  • Newbie
  • Beiträge: 13
Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« am: Juni 13, 2019, 11:19:19 »
Hallo zusammen,

ich würde gerne bei meiner Projektverwaltung die Möglichkeit haben, Anhange anzufügen.
Dazu habe ich eine Tabelle tblProjekte, eine Tabelle tblKunden und eine Tabelle tblAnhaenge.

Mein Problem besteht jetzt darin, das es beim Projekt sowie beim Kunden Anhänge gibt.
Ich will aber nicht für jede Tabelle eine eigene "Anhangtabelle" erstellen. Gibt es eine Möglichkeit wo etwas mit nur einer "Anhangtabelle" zu realisieren?

Übrigens handelt es sich bei der Tabelle Anhänge nur um "Hyperlinksammlung" es wird nicht das Anlage-Feld verwendet!!!

Ich hoffe ich habe mein Problem genau genug erklärt =)

Vielen Dank im Vorraus für eure Hilfe!

Mfg
Martin

EDIT
Ich habe noch einen Anhang hinzugefügt, wo man vielleicht ein wenig besser sieht, wo mein Problem liegt.

Wenn ich in tblKunden / tblProjekt ein Feld mit der ID von tblAnhang verknüpfe kann ich pro Kunde / Projekt nur ein Anhang verlinken. Wenn ich in tblAnhang ein Feld mit der ID von tblKunden und tblProjekt verknüpfe ist die ID ja nicht eindeutig, da die ID ja nur pro Tabelle eindeutig ist. Somit könnte es einen Kunden 1 und ein Projekt 1 geben...
« Letzte Änderung: Juni 13, 2019, 13:26:47 von martin1991 »
 

Offline PhilS

  • Global Moderator
  • Access-Meister
  • *****
  • Beiträge: 653
    • Tipps zu Access, VBA, SQL und Co.
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #1 am: Juni 13, 2019, 13:41:17 »
Erstelle in der Anhang-Tabelle doch einfach zwei Spalten. Eine für ProjetkId eine für KundeId. Nur die jeweils benötigte wird gefüllt. Dazu solltest du eine Gültigkeitsregel ergänzen, dass immer eine der beiden Spalten gefüllt ist.
 
Folgende Mitglieder bedankten sich: martin1991

Offline martin1991

  • Newbie
  • Beiträge: 13
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #2 am: Juni 13, 2019, 13:49:58 »
War auch meine erste Idee.
Beim angehängten Bsp handelt es sich aber nur um eine Testdatenbank. Ich würde die Tabelle gerne für unsere "große" Betriebsdatenbank verwenden. Dabei handelt es sich um eine Datenbank mit ca. 35 verschiedenen Tabellen (Kunden, Projekte, Mitarbeiter, Artikel, etc....) So gut wie jede Tabelle verwendet momentan das Anlagefeld. (ein Kollege von mir meinte, das wäre eine gute Idee =)) Ich muss jetzt diese Anlagefelder rausnehmen und mit einer alternative versehen. Ich glaube aber nicht, das es eine Sinnvolle Lösung ist, in der Tabelle Anhänge für jede Tabelle ein Feld zu erstellen. Muss doch anders funktionieren.

 

Offline Tally

  • Access-User
  • *
  • Beiträge: 81
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #3 am: Juni 13, 2019, 14:00:15 »
Hallo Martin
Du hast erwähnt, dass Du die Anhänge für Kunden und Projekte benötigst. Davon ausgehend, dass Du sowohl eine Kunden-ID wie auch eine Projekt-ID hast, reichen doch in der Anhang-Tabelle die Felder
ID (Autowert)
Kunden-Nr
Projekt-Nr
Anhang
Anschliessend kannst Du diese ja jeweils in dem Adress- und Projektformularen als UF einfügen und zwar bei den Kunden nur jene, welche eine Kunden-Nr enthalten und bei den Projekten jene mit einer Projekt-Nr. Eine vorgängige Bereinigung der übrigen Tabellen wird Dir aber vermutlich nicht erspart bleiben weil Du die dortigen Anhänge einem dieser beiden Bereiche zuweisen musst.
Gruss René
 
Folgende Mitglieder bedankten sich: martin1991

Offline martin1991

  • Newbie
  • Beiträge: 13
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #4 am: Juni 13, 2019, 14:10:38 »
Hallo Tally,

ist eigentlich der gleiche Lösungsansatz wie phil gepostet hat.
Ich hätte die Bsp-Datenbank doch nicht so klein halten sollen =)

Diese Lösung fände ich bei 2 Tabellen mit Anhängen noch vertretbar bzw. könnte ich mir da auch vorstellen jeweils eine Tabelle AnhangProjekt und AnhangKunde zu erstellen. Das aber für ca. 35 Tabellen anzulegen ist doch recht mühsam. Zumal dahinter ja auch eine VBA Programmierung steckt die ich dann auch 35 ändern müsste.
 

Offline martin1991

  • Newbie
  • Beiträge: 13
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #5 am: Juni 13, 2019, 16:34:07 »
so habe jetzt meine DB auch noch hochgeladen, vielleicht weckt ja das das Interesse.

Wie gesagt ich brauche eine Lösung die auch mit einer größeren Anzahl an Tabellen funktioniert.

unter frm Kunde bzw. frmProjekt könnt ihr den Buttton klicken und seht wo mein problem liegt.
 

Offline PhilS

  • Global Moderator
  • Access-Meister
  • *****
  • Beiträge: 653
    • Tipps zu Access, VBA, SQL und Co.
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #6 am: Juni 13, 2019, 17:18:19 »
Wie gesagt ich brauche eine Lösung die auch mit einer größeren Anzahl an Tabellen funktioniert.
Du könntest es mit einer Zwischentabelle lösen, die nur eine einzige AutoWert-Spalte als PK enthält. Diese wird dann 1:1 zu den verschiedenen Tabellen verknüpft und 1:N zu der Tabellen mit den tatsächlichen Anhängen.
 

Offline martin1991

  • Newbie
  • Beiträge: 13
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #7 am: Juni 14, 2019, 07:51:45 »
Hallo Phil,

danke für die Antwort.
Ich verstehe aber immer noch nicht wie das mein Problem löst.
Ich habe ja pro Datensatz in Projekt oder Kunde mehrere Anhänge.
mit deiner Zwischentabellenlösung  kann ich doch wieder nur ein Anhang pro Datensatz verlinken. Ich denke langsam, das ich nicht darum herum komme pro Tabelle in der es Anhänge gibt eine "Anhangtabelle" zu erstellen.
oder ist es möglich, 2 Verbindungen zu kombinieren? Dann könnte ich bei tblAnhang noch ein Feld mit "Tabellentyp" als FS anlegen und diesen mit zB tblProjekte.Tabellentyp verknüpfen.
Somit wüsste ich ja wenn es zwei Datensätze mit tblAnhang.ID_FS = 1 gibt ob es zur tblProjekt oder tblAnhang gehört.

Kann mir jemand sagen, wie man so etwas lösen könnte?
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 8179
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #8 am: Juni 14, 2019, 08:17:59 »
Hallo,
ich habe mir mal die DB angesehen, da gibt es noch Klärungsbedarf.

- Warum sind keine Beziehungen mit referentieller Integrität angelegt ?
- Ist ein Projekt nicht Kundenbezogen (Das Bad wird doch für einen bestimmten Kunden gemacht) ?
Gruß
Klaus
 

Offline martin1991

  • Newbie
  • Beiträge: 13
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #9 am: Juni 14, 2019, 08:24:04 »
Guten Morgen MzKlMu,

-muss ich vergessen haben =) sollte zum testen aber nicht ein riesen Problem sein.
-natürlich stehen Projekt und Kunde in einer Beziehung.
Ist aber für diese Aufgabenstellung irrelevant.
Die Anhänge bei Kunde haben nichts mit dem Projekt zu tun und umgekehrt.
Beim Kunde könnten z.B. Verträge mit diesem angehängt werden und beim Projekt Angebote etc.
Wie oben erwähnt gibt es ja in der eigentlichen DB noch viel mehr Tabellen die auch nicht immer in einer direkten Verbindung stehen.
 

Offline PhilS

  • Global Moderator
  • Access-Meister
  • *****
  • Beiträge: 653
    • Tipps zu Access, VBA, SQL und Co.
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #10 am: Juni 14, 2019, 09:29:20 »
Ich habe ja pro Datensatz in Projekt oder Kunde mehrere Anhänge.
mit deiner Zwischentabellenlösung  kann ich doch wieder nur ein Anhang pro Datensatz verlinken.
Nein.

Die erste Hälfte deiner Aussage ist korrekt. Du kannst jeweils nur einen Datensatz aus der von mir genannten Zwischentabelle verlinken. Diese enthält aber noch nicht die Anhänge!

Zu jedem Datensatz der Zwischentabelle kannst du nun N Anhang-Datensätze verlinken. - Somit ist dein Problem gelöst.

Die Schwierigkeit besteht bei dem Ansatz darin, dass du jeweils den Datensatz in der Zwischentabelle per Code erstellen und zuweisen musst. - Eine simplere Lösung fällt mir jedoch nicht ein.
 

Offline martin1991

  • Newbie
  • Beiträge: 13
Re: Verknüpfung mehrer Tabellen zu einem Fremdschlüssel
« Antwort #11 am: Juni 14, 2019, 10:12:07 »
Super jetzt hats geklappt!  ;D

im Anhang nochmal die Lösung als Screenshot.
Jetzt muss ich das nur noch in VBA erstellt bekommen =)
Wenn ihr möchtet kann ich die Lösung meiner BspDB hier wieder posten wenn das VBA-Tool dazu fertig ist.
 

 

Verknüpfung von zwei Formularen / Bedingte Erstellung von neuem Datensatz

Begonnen von micha286Board Formular

Antworten: 9
Aufrufe: 3942
Letzter Beitrag November 16, 2011, 10:20:39
von MzKlMu
Verknüpfung, die eine Datei mit dem gleichen Namen öffnet

Begonnen von Carlos_CBoard Microsoft Excel

Antworten: 0
Aufrufe: 2574
Letzter Beitrag Juli 19, 2010, 17:03:34
von Carlos_C
# als Teil eines Strings behindert die Verknüpfung

Begonnen von thorstens1304Board Tabelle/Abfrage

Antworten: 1
Aufrufe: 2691
Letzter Beitrag Oktober 27, 2010, 16:27:45
von DF6GL
Verknüpfung mit Informix

Begonnen von ShaiBoard Access-Hilfe

Antworten: 2
Aufrufe: 3265
Letzter Beitrag November 05, 2010, 19:59:23
von Shai
Abfrage: WHERE Klausel mit AND Verknüpfung

Begonnen von Martin hexhexBoard Tabelle/Abfrage

Antworten: 11
Aufrufe: 6444
Letzter Beitrag Dezember 09, 2010, 12:48:58
von database

Advertisment / Werbung - Amazon Affiliate Links