AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Verknüpfung von Tabellen
Thema durchsuchen
Ansicht
Themen-Optionen

Verknüpfung von Tabellen

Ein Thema von Pindel · begonnen am 7. Mär 2005 · letzter Beitrag vom 11. Mär 2005
 
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Verknüpfung von Tabellen

  Alt 8. Mär 2005, 18:02
Zitat von Pindel:
Ich denke das habe ich nicht nötig...
mir ist schon klar was er meint, aber ich weiss nicht genau wie ich das vernünftig hinbekomme
wenn ich mich an die normalformen halten muss...
ich kann zum beispiel eine dritte tabelle machn in der ich die ID der videos-tabelle und die
id der kunden-tabelle mit einander verknüpfe, aber ich weiss nicht wie ich das dann vernünftig anzeigen
soll...
wenn ich zum beipiel auf einen kunden klicke, das ich dann sehe welche filme der ausgeliehen hat...
probleme habe ich außerdem mit der suche...
Du könntest z.B. einen Kundendialog machen, wo Name Adresse usw. drinstehen. Und dort fügst Du ein DbGrid ein, in dem die von diesem Kunden ausgeliehenen Filme mit Ausleihdatum stehen. Dazu musst Du von der untergeordneten TQuery die Eigenschaft DataSource setzen und kannst dann auf die Felder als automatische Parameter zugreifen.

Beipiel qryKunden:

SQL-Code:
SELECT *
FROM Kunden
WHERE id = :id
Delphi-Quellcode:
qryKunden.ParambyName.('Id').AsInteger := fKundenId
qryKunden.Open;
Beispiel für 2 Stufige Subquery der ausgeliehenen Filme:

SQL-Code:
SELECT Filme.Titel,
       Ausleih.Datum
FROM Ausleih
LEFT OUTER JOIN Filme on Filme.Id = Ausleih.FilmId
WHERE Ausleih.KundenId = :Id
Und zum Verbinden
qryAusleih.DataSource := dsKunden; Jedesmal wenn Du den Tabellenzeiger in qryKunden (dsKunden) bewegst (Next, Prior etc.) prüft dann qryAusleih über eine Notification die DataSource und aktualisiert sich selbst (d.h. macht Close, füllt den Parameter :id mit dem GLEICHNAMIGEN Wert aus qryKunden und wieder Open).

Analog kannst Du das auch umgekehrt bei den Filmen machen, also wer hat welchen Film ausgeliehen. In den jweiligen Grids könntest Du auch gleich Bearbeitungsoptionen mit reinnehmen, Neu, Löschen usw. dann kannst Du von den Kunden gleich zum Verleih springen oder vom Film einen Kunden entfernen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  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 05:27 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-2025 by Thomas Breitkreuz