Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tabelle über DBGrid ermitteln (https://www.delphipraxis.net/170620-tabelle-ueber-dbgrid-ermitteln.html)

HolgerCW 26. Sep 2012 07:22

Delphi-Version: 2006

Tabelle über DBGrid ermitteln
 
Hallo zusammen,

ich habe eine TQuery mit einem TDBGrid verbunden.

Nun kann ich ja über DBGrid.Columns[0].FieldName den Spaltennamen ermitteln.

Gibt es auch eine Möglichkeit die hinter der Spalte steckende Tabelle zu ermitteln ?

Die TQuery ist mit LEFT JOINS aufgebaut und enthält somit eine Verknüpfung aus verschiedenen Tabellen.

MFG

Holger

mkinzler 26. Sep 2012 07:27

AW: Tabelle über DBGrid ermitteln
 
Nein, den das Grid ist ja mit einem DataSet verknüpft, wo dessen Inhalte herkommen ist ihm nicht bekannt.
Hierfür müsste man das Statement parsen oder die Felder in der Abfrage so umbenennen, dass die Herkunft ersichtlich wird.

HolgerCW 26. Sep 2012 07:31

AW: Tabelle über DBGrid ermitteln
 
Hallo,

ich kann natürlich über das DBGrid das DataSet ermitteln. Gibt es dort dann die möglichkeit, bzw. direkt über die TQuery den Tabellennamen für die entsprechende Spalte zu ermitteln ?

Gruss

Holger

Stevie 26. Sep 2012 07:31

AW: Tabelle über DBGrid ermitteln
 
Die Eigenschaft Origin im TField könnte diese Information enthalten (über einen vollqualifizierten Feldnamen)

HolgerCW 26. Sep 2012 08:42

AW: Tabelle über DBGrid ermitteln
 
Leider konnte ich dort keine Informationen bekommen.

Hatte es so gemacht:

Code:
Wert := DBGrid.Columns[0].Field.Origin;
Oder muss ich da ans Dataset etc ?

HolgerCW 26. Sep 2012 09:10

AW: Tabelle über DBGrid ermitteln
 
Auch über die Query bekomme ich über Origin keine Werte ...

DeddyH 26. Sep 2012 09:17

AW: Tabelle über DBGrid ermitteln
 
Ich bin mir nicht sicher, wie die hervorgehobenen Teile der Hilfe zu deuten sind:
Zitat:

Origin wird nur während des Entwurfs vom Felder-Editor zugewiesen, und nur wenn die Feldkomponente von einem TQuery-Objekt verwendet wird. Die Eigenschaft Origin unterscheidet den Feldnamen, so wie er in der Datenmenge erscheint, von dem Feldnamen in der zugrunde liegenden Tabelle. Beispielsweise ist der Wert von Origin in einer Abfrage, die die folgende SQL-Anweisung verwendet, CUSTOMER.CUSTNO.

SELECT CUSTNO AS ID FROM CUSTOMER

In diesem Fall ist der Wert die Eigenschaft FieldName ID.

Anmerkung: Origin ist auf Linux nicht verfügbar. Die Eigenschaft Origin ist nur für BDE-Datenmenge implementiert, die nur im Windows-Produkt enthalten sind.

HolgerCW 26. Sep 2012 09:21

AW: Tabelle über DBGrid ermitteln
 
Ich habe die BDE-Schnittstelle.

Wie öffne ich denn nun den Feld-Editor um während der Laufzeit an die Werte von Origin zu kommen, oder gibt es noch eine andere Möglichkeit ?

Gruss

Holger


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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