AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken [Access] Tabelle hat Beziehung mit sich selbst
Thema durchsuchen
Ansicht
Themen-Optionen

[Access] Tabelle hat Beziehung mit sich selbst

Ein Thema von hans ditter · begonnen am 28. Nov 2011 · letzter Beitrag vom 5. Dez 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#11

AW: [Access] Tabelle hat Beziehung mit sich selbst

  Alt 1. Dez 2011, 08:16
Ich würde das ungefähr so aufbauen:
- eine Tabelle "Saison"
- eine Tabelle "Mannschaften"
- eine Tabelle "Begegnungen"

So, die Begegnungen bekommen dann 4 Felder: ID (Autowert), ID_Saison (FK auf Saison), ID_Heim (FK auf Mannschaften), ID_Gast (nochmal FK auf Mannschaften). Über einen Check-Constraint stellt man sicher, dass sich ID_Heim und ID_Gast unterscheiden müssen (eine Mannschaft kann ja nicht gegen sich selbst spielen). Außerdem bekommt die Kombination aus ID_Saison, ID_Heim und ID_Gast einen Unique-Index verpasst, da es je Saison nur ein Hin- und ein Rückspiel gibt. Somit sollte das recht wasserdicht sein. Inwieweit sich das mit Access machen lässt, kann ich allerdings nicht sagen, da ich keins besitze.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#12

AW: [Access] Tabelle hat Beziehung mit sich selbst

  Alt 3. Dez 2011, 18:23
Ein dickes Danke an alle! Jetzt haben wir immerhin schonmal das erste große Problem gelöst.

Letztlich hat uns der Tipp geholfen,dass man einfach die Zuweisung macht und eine der beiden Spalten auf Breit 0 cm legt. Also das was Jumpy vorgeschlagen hat.

Jetzt haben wir aber noch ein Problem, bzw. eigentlich ein ziemlich ähnliches. Jetzt wollen wir ein Spielplan zum Aufhängen erstellen lasse, also einen Bericht erstellen. Darin sollen die beiden Mannschaften (natürlich mit Namen) und noch ein paar Informationen angezeigt werden. Jetzt die Frage: wie schaffen wir es im Bericht, dass dort nich die ID sonder der Name angezeigt wird?

Vielen Dank bis hierher schonmal für die Mitarbeit und ich würde mich über weitere Hilfe freuen!

hans ditter
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

AW: [Access] Tabelle hat Beziehung mit sich selbst

  Alt 3. Dez 2011, 20:19
Welche Tabellen hast Du denn jetzt?
Wahrscheinlich eine Tabelle Manschaften mit ID und Namen ?
dann sollte das ungefähr so gehen:
SQL-Code:
select Mannschaften1.Namen,Mannschaften2.Namen
from Mannschaften Mannschaften1, Mannschaften Mannschaften2, Begegnungen
where Begegnungen.HeimID=ManNschaften1.ID
  and Begegnungen.GastID=Mannschaften2.ID
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#14

AW: [Access] Tabelle hat Beziehung mit sich selbst

  Alt 4. Dez 2011, 00:00
Ich werde morgen mal ein paar Bilder reinstellen, die das hoffentlich etwas besser erklären, als ich das kann.

LG; hans ditter
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#15

AW: [Access] Tabelle hat Beziehung mit sich selbst

  Alt 4. Dez 2011, 00:16
K-H hat doch völlig recht, genauso sollte es gehen. Etwas andere Syntax:
SQL-Code:
SELECT
  M1.Name, M2.Name
FROM
  Mannschaften M1
JOIN
  Begegnungen B ON B.Heim_ID = M1.ID
JOIN
  Mannschaften M2 ON M2.ID = B.Gast_ID
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HiWieGehts

Registriert seit: 19. Aug 2005
101 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: [Access] Tabelle hat Beziehung mit sich selbst

  Alt 4. Dez 2011, 10:10
Hallo,

das Problem (eigentlich ist es keines oder ich habe die Anforderung nicht verstanden) ist ganz einfach mit den Access-Mitteln lösbar, ohne dass mit SQL-Code herumgebastelt werden muss. Das ist nur erforderlich, wenn man das Access-Ergebnis verschönern will. Es muss nur die Tabelle Mannschaften 2 mal für die Erstellung der Abfrage eingefügt werden.
Beziehungen können erstellt werden, sind aber für die Lösung nicht erforderlich.
Miniaturansicht angehängter Grafiken
2011-12-04_094724.png  
Angehängte Dateien
Dateityp: zip Spielplan.zip (18,7 KB, 4x aufgerufen)
LG, HiWieGehts

Geändert von HiWieGehts ( 4. Dez 2011 um 10:26 Uhr)
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#17

AW: [Access] Tabelle hat Beziehung mit sich selbst

  Alt 5. Dez 2011, 18:02
Oooh man, ihr seid die Besten!!!

Ich glaube wir standen da alle ein bisschen auf der Leitung in der Projektgruppe. Letztlich so einfach.

Auf jeden Fall nochmal ein dickes Danke!

LG, hans ditter
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz