Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid (https://www.delphipraxis.net/32683-oft-gefragt-dennoch-mehrere-tabellen-ein-dbgrid.html)

Leon de Bar 27. Okt 2004 10:00


Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Hi Leutz,

in diesem forum finde ich wirklich eine menge, und es macht spaß euch zuzulesen und dabei etwas zu lernen. mein problem ist in einigen themen schon besprochen worden aber es will einfach nicht klick machen.

ich habe vier tabellen, die ich alle in EINEM DBGrid anzeigen lassen möchte und muss...

Kann das jemand mal für blöde erklären? Ich habe sogar schon das mit der SQL-sache versucht aber dazu fehlt mir irgenwie noch die verbindung von der Abfrage (ADOQuery) zum DBGrid. vielleicht ist das ja auch einfach nur mein problem.

schnelle hilfe wäre super :thumb:


thx.

Sharky 27. Okt 2004 10:08

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Zitat:

Zitat von Leon de Bar
...aber dazu fehlt mir irgenwie noch die verbindung von der Abfrage (ADOQuery) zum DBGrid. vielleicht ist das ja auch einfach nur mein problem.....

Hai,
Ziehe auf deine Form mal eine TDataSource (Registerkarte : Datenzugriff).
Bei der Eigenschaft DataSet gibst Du deine TADOQuery an.
Bei dem TDBGrid jetzt bei DataSource deine DataSource angeben und fertig ist der Lack :stupid:

Leon de Bar 27. Okt 2004 10:16

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Moin Sharky,

das ist ja das super problem was ich habe... die komponenten habe ich bereits auf meinem form. ich dachte mir das ja schon so in der art, weil es ja klappt wenn ich eine einzige tab in das dbgrid einbinde...

wenn ich aber von meiner datasource und das dataset ADOQuery1 eintragen will (muss ich manuell machen weil es mir gar nicht angezeigt wird) dann bekomme ich eine fehler meldung:

DataSource1: Zirkuläre Datenverbindung sind nicht erlaubt!

:?:

wo bin ich denn falsch in meinem tableau???

Sharky 27. Okt 2004 10:19

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Zitat:

Zitat von Leon de Bar
...(muss ich manuell machen weil es mir gar nicht angezeigt wird) ...

Wieso wird es denn nicht angezeigt? Kannst Du dein Projekt mal ZIPen und anhängen?

Leon de Bar 27. Okt 2004 10:27

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Liste der Anhänge anzeigen (Anzahl: 1)
Achherje,

okay, aber nicht schimpfen bin noch anfänger...

okay, danke das du dir die zeit nimmst um das mal durchzuschecken...

shmia 27. Okt 2004 10:31

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Leon de Bar
ich habe vier tabellen, die ich alle in EINEM DBGrid anzeigen lassen möchte und muss...

Wie soll das optisch aussehen??? :wiejetzt:
Sollen die Datensätze vorne ein kleines Pluszeichen haben und wenn man draufklickt
sieht man eingerückt die Detaildatensätze dazu??
(siehe Screenshot im Anhang)

oder

Sollen die Daten aus 4 Tabellen zu einer einzigen (temporären) Tabelle aufbereitet werden und
diese dann im Grid dargestellt werden??? (das nennt man einen JOIN)

Sharky 27. Okt 2004 10:39

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Zitat:

Zitat von Leon de Bar
... (muss ich manuell machen weil es mir gar nicht angezeigt wird) dann ...

Alles klar ;-)

Du hast bei deiner ADOQuery1 schon die Eigenschaft DataSource auf DataSource1 gesetzt. Darum kommt der Fehler wenn Du dann noch einmal versuchst der DataSource im Code ein TDataSet zuzuweisen.

Also entweder setzt Du beim Query die Eigenschaft DataSource oder Du setzt bei der DataSource die Eigenschaft DataSet. Es bei beiden zu machen verursacht den Fehler.

Leon de Bar 27. Okt 2004 10:41

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Hi shmia,

man das sieht toll aus aber gleichzeitig auch mächtig kompliziert. diese lösung kannte noch gar nicht. ist bei mir aber auch nicht der notwendige fall. ich möchte die 4 quasie in einer einzigen tabelle erscheinen lassen. und wenn ich an join denke wird mir jetzt schon schlecht. sitze seit 5 uhr am rechner und habe mir alles mögliche hier reingezogen. aber die joins kapier ich gar nicht! die erklärung auf der mysql-seite ist mir auch noch nciht klar...

um die antwort abschließen zu können: Dein screenshot gefällt mir, ist aber im moment nicht nötig. ich denke eher an eine einzige tab. :)


Gruß Leon.

Leon de Bar 27. Okt 2004 10:45

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
@Sharky,

:bounce2: :bouncing4: :bounce1:

Klasse! Danke für die schnelle Hilfe. Weiss nicht wie lange ich da noch dran gesessen hätte. Aber ein wenig blöd bin schon :wall: man!!!


Danke, danke, danke...

P.S.: nur so eine kurze Frage als newbie, sieht der code einigermassen vernünftig aus???

Sharky 27. Okt 2004 10:55

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Zitat:

Zitat von Leon de Bar
...
Danke, danke, danke...

P.S.: nur so eine kurze Frage als newbie, sieht der code einigermassen vernünftig aus???

Gerne geschehen :stupid:

Viel Code ist es ja noch nicht. Aber soweit ist er für mich Okay.

Eine Anmerkung noch: Du erzeugst zwar per Code deine Tabellen und alle haben auch brav ein "ID-Feld"; aber Du erzeugst keinen Indes für deine Tabelle (Primary-Key).

Leon de Bar 27. Okt 2004 11:02

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
jep da hast du recht. das muss ich noch eintragen. wobei mir noch nicht ganz klar ist wofür der index genau gut ist. ich habe auch noch tabellen die einen subindex benötigen.

kannst du das mal kurz erklären? ich meine jede tab hat ein ID feld. wenn ich query stelle und sage suche mir den inhalt aus der und der und der tabelle heraus wo das feld ID den wert x hat, dann ist das doch genauso oder? ich meine die Query muss ich doch so oder so _ so erstellen?

Sharky 27. Okt 2004 11:05

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Um es kurz zu sagen: Es ist einfach schneller ;-)
Für jedes Index-Feld wird eine eigene "Tabelle" geführt und es müssen nicht alle einträge der "Haupt-Tabelle" durchsucht werden.

Leon de Bar 27. Okt 2004 11:10

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
okay, danke. :wink:

pjuk 3. Nov 2004 09:46

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
ähm hab das gerade nicht so verstanden, kann mir jmd erklären wie ich den lösungsvorschlag von shima ( also z.b. die 2. tabelle mit dem plus da öffnen kann ) in meinen dbgrid einbinden kann? danke

shmia 3. Nov 2004 17:31

Re: Oft gefragt: dennoch... mehrere Tabellen in ein DBGrid
 
Zitat:

Zitat von pjuk
kann mir jmd erklären wie ich den lösungsvorschlag von shima ( also z.b. die 2. tabelle mit dem plus da öffnen kann ) in meinen dbgrid einbinden kann? danke

Tja, das normale TDBGrid von Delphi kann das nicht. :cry:
Dazu müsste man das DevExpress Quatum Grid nehmen. (Teuer und kompliziert !, nix für Anfänger)
http://www.devexpress.com/?section=/.../ExQuantumGrid

Üblicherweise nimmt man dann 2 DBGrids auf einem Formular.
Im oberen DBGrid zeigt man z.B. alle Kunden an und im unter DBGrid zeigt man alle Bestellungen des Kunden an,
der im oberen Grid angewählt ist.
Die beiden Grids trennt man durch einen TSplitter, damit am den Platz für oben und unten mit der Maus
verändern kann.
Die nennt man eine Master-Detail Darstellung.
Ich denke du brauchst erst mal einen Datenbank Grundkurs, damit du weisst, was du fragen willst:
http://www.delphi-source.de/tutorials/index.php?cat=6
http://www.zdnet.de/builder/architec...0000756,00.htm
http://www.zdnet.de/builder/architec...0000757,00.htm


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