AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TDBGrid mit Master/Detail?

TDBGrid mit Master/Detail?

Offene Frage von "NoGAD"
Ein Thema von NoGAD · begonnen am 18. Apr 2021 · letzter Beitrag vom 26. Apr 2021
Antwort Antwort
Seite 1 von 3  1 23   
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Erfurt
199 Beiträge
 
Delphi 10.4 Sydney
 
#1

TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 12:40
Datenbank: egal • Version: egal • Zugriff über: ttable
Hallo,

ist mit einem normalen DBGrid möglich, Daten aus verschiedenen Tabellen einer einzelnen Datenbank in den Spalten anzeigen zu lassen?

Momentan werden nur Einträge aus Tabelle 1 angezeigt, in Spalte 3 des DBGrid möchte ich aber lieber statt des Index auf Tabelle 2 den Inhalt des zweiten Feldes von Tabelle 2 anzeigen lassen.

(In einer DBLookup - Komponente (Combobox, z.B.) funktioniert das ja auch mittels Listfield.)

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.819 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 13:30
Wenn ich dich richtig verstanden habe, dann kannst du das mit einem Lookup-Feld in Tabelle 1 lösen - ganz ähnlich wie mit der DBLookupComboBox.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.287 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 13:32
Vergiss TTable und nimm eine Query, in der Du die beiden Tabellen zusammenjoinst.
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
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
509 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 13:54
Wenn man Daten nur Anzeigen will, dann macht man schon beim Zugriff einen entsprechenden Select mit Joins o.Ä. Wenn die Daten editierbar sind, ist Lookup sinnvoll, etwa um Artikel leicher einer Gruppe zuordnen zu können oder wenn nur bestimmte Werte erlaubt sind.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Erfurt
199 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 14:13
Habt ihr (leicht) verständliche Tutorials (bitte in deutsch) für dieses Problem für mich?

Mir reicht es, wenn die Daten angezeigt werden.


LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.287 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 14:30
Nimm eine Query und gib in der Eigenschaft SQL sinngemäß etwas wie
SQL-Code:
SELECT
  T1.Feld1, T1.Feld2, ..., T2.Feld
FROM
  Tabelle1 T1
  JOIN Tabelle2 T2 ON T2.ID = T1.Tabelle2ID
ein. Die Feld- und Tabellennamen musst Du natürlich durch Deine eigenen Bezeichner ersetzen.
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
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Erfurt
199 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 17:22
Nimm eine Query und gib in der Eigenschaft SQL sinngemäß etwas wie
SQL-Code:
SELECT
  T1.Feld1, T1.Feld2, ..., T2.Feld
FROM
  Tabelle1 T1
  JOIN Tabelle2 T2 ON T2.ID = T1.Tabelle2ID
ein. Die Feld- und Tabellennamen musst Du natürlich durch Deine eigenen Bezeichner ersetzen.
Und in welchem Ereignis wird das dann aufgerufen?


OnAfterScroll?

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.287 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 17:37
Du weist die SQL-Anweisung zu und rufst dann Query.Open auf. Wenn das Grid über eine TDatasource mit der Query verknüpft ist, siehst Du sofort die Daten.
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
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Erfurt
199 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: TDBGrid mit Master/Detail?

  Alt 18. Apr 2021, 17:38
Vielen Dank, ich versuche mein Glück

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Commander Tom

Registriert seit: 9. Dez 2005
Ort: Ettlingen
41 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: TDBGrid mit Master/Detail?

  Alt 20. Apr 2021, 12:56
Man kann das aber auch über ein persistentes Nachschlagefeld im Query lösen. Dazu muss man in der Query mit Rechtsklick ein neues Nachschlagefeld anlegen und dann aus der zweiten Tabelle das anzuzeigende Feld angeben. Es muss dazu natürlich ein Fremdschlüssel auf die zweite Tabelle existieren, dies scheint aber in diesem Beispiel gegeben zu sein.

Das neue Feld kann man dann einfach im Grid anzeigen lassen und auch sonst überall verwenden.
Thomas Speck
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf