AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Eine Tabelle verweist auf sich selbst
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Tabelle verweist auf sich selbst

Ein Thema von Flogo · begonnen am 27. Jun 2005 · letzter Beitrag vom 14. Jul 2005
 
Yadon

Registriert seit: 13. Feb 2004
110 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: Eine Tabelle verweist auf sich selbst

  Alt 28. Jun 2005, 02:57
Hi,

das Problem kenne ich, hatte ich selbst vor Jahren, als ich mir ein Archiv für CDs, Schallplatten etc. angelegt habe. Plötzlich wollte ich alle Informationen, die man so bekommt, speichern. Und Tabelle verweist auf sich selbst geht gar nicht so schwer. Ich versuche mal, jetzt ordentlich zu erklären, wie ich das gelöst habe.

Ich habe zwei Tabellen:

Artist - hier sind sämtliche Künstler eingetragen
  • Artist_ID
  • Artist_Name
  • ... sonstewas
ArtistByArtist - hier trage ich nur die IDs der Künstler ein und die Art der Verbindung etc.
  • Artist_ID
  • ByArtist_ID
  • ...egal was für die Beziehung wichtig ist
Dann habe ich mir ein zweites Form angelegt, welches vom Hauptform aufgerufen wird.
Damit ist auch automatisch der erste Künstler festgelegt und dessen ID bekannt.

Auf dem zweiten Form habe ich dann sicherheitshalber oben noch mal den Namen des aufrufenden Künstlers vermerkt, damit ich das auch noch weiß, wenn ich im Hauptform schon andere Dinge tue.
Weiterhin liegt dort ein DBGrid, in dem die Einträge niedergelegt werden und eine DBLookupComboBox. Wenn ich aus der Look..Box einen Namen auswähle, dann wird er direkt ins Grid eingetragen. Und die Beziehungen stelle ich folgendermaßen her:

Dem DBGrid liegt eine Query zugerunden mit folgender SQL:
Delphi-Quellcode:
SELECT
  Artist_ByArtist.*, Artist.Artist_Name, Artist_ID
FROM
  Artist, Artist_ByArtist
WHERE
  (ByArtist_ID = Number OR Artist_ID = Number)
AND
  (Artist.Artist_ID <> Number
AND
  (ByArtist_ID = Artist.Artist_ID OR Artist_ID = Artist.Artist_ID))
ORDER BY
  Artist_Name
Den Parameter Number übergebe ich bei Aufruf des zweiten Forms.

Die Loo....Box nutzt folgende Query:
Delphi-Quellcode:
SELECT
  Artist_ID, Artist_Name
FROM
  Artist
ORDER BY
  Artist_Name
Das ganze klappt seit Jahren einwandfrei, hab allerdings 'ne Weile rumgefrickelt, bis ich es hatte und mir auch von schlauen Leuten helfen lassen.

Oh, beinahe hätte ich's vergessen, nutze ADO und ACCESS.
Gute Nacht!
Yadon
  Mit Zitat antworten Zitat
 


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 06:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz