Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid in einem Report? (https://www.delphipraxis.net/11765-dbgrid-einem-report.html)

SvenT 13. Nov 2003 12:38


DBGrid in einem Report?
 
Hallo!

Ich möchte in einem QuickReport ein DBGrid darstellen. Gibt es da irgendeine Möglichkeit?
Vielen Dank im Vorraus.

Grüße
SvenT

SvenT 14. Nov 2003 19:53

Re: DBGrid in einem Report?
 
Hallo!

Hat niemand eine Idee?

Gruß

MrSpock 14. Nov 2003 20:00

Re: DBGrid in einem Report?
 
Hallo SvenT,
du kannst zwar das Grid nicht direkt darstellen, aber du kannst QRShape Komponenten benutzen und damit ein Rechteck um die Felder malen, so dass die Daten wie in einer Tabelle dargestellt werden.

SvenT 14. Nov 2003 20:18

Re: DBGrid in einem Report?
 
Hallo MrSpock!

Danke für Deine Antwort. Die Daten in meinem DBGrid kommen aus einer ADOQuery. Dort werden auch die Spaltennamen festgelegt. Daher möchte ich die Spaltennamen und Datensätze aus dem DBGrid in einem Quickreport darstellen. Gibt es dafür eine Möglichkeit?

Gruß
SvenT

MrSpock 14. Nov 2003 21:39

Re: DBGrid in einem Report?
 
Hallo SvenT,

wie gesagt, du kannst in einem Detail Band die Daten darstellen und alle Felder mit einem Rechteck umgeben. Dabei liegen die Ränder benachtbarter Rechtecke direkt aufeinander. In ein Headerband schreibst du QRLabels ebenfalls mit Rechtecke drumherum und füllst die Labels mit den Namen der Ado Felder.

SvenT 15. Nov 2003 13:56

Re: DBGrid in einem Report?
 
Hallo!

Die Query bezieht sich auf Ausgaben. Eine Spalte mit Ausgaben für dieses Jahr heißt dann '2003'. Nächstes Jahr kommt dann eine Spalte '2004' hinzu usw. Ich kann also in dem QuickReport diese Spaltennamen keinem Label zuweisen, da sich der Test und die Anzahl der Labels von Jahr zu ändert. Wie kann ich die Spaltennamen und die Datensätze aus dem DBGrid in dem QuickReport darstellen?

Gruß
SvenT

r_kerber 15. Nov 2003 15:20

Re: DBGrid in einem Report?
 
Hallo SvenT,

habe ich das richtig verstanden, dass Du eine Tabelle hast in der Du für jedes Jahr eine neue Spalte anlegst? Wenn das wirklich so ist, solltest Du zunächst das Design Deiner Datenbank überdenken.

SvenT 15. Nov 2003 17:33

Re: DBGrid in einem Report?
 
Hallo r_kerber!

Erstmal Danke für Deine Antwort. Ich habe eine Tabelle Ausgaben, in der die Ausgaben mit Datum eingegeben werden. Nun habe ich in Access eine Kreuztabellenabfrage erstellt mit den Ausgaben pro Jahr. Die Jahre sind dort dann die Spaltennamen. Den SQL-Code habe ich nun in meine ADOQuery übernommen. Das Ergebnis der Query lasse ich mir im DBGrid anzeigen. Nun möchte ich aber auch das DBGrid in dem QuickReport anzeigen. Ich hoffe Du verstehst jetzt was ich meine. In meiner Tablle wird also nicht für jedes Jahr eine neue Spalte hinzugefügt.

Gruß
SvenT

r_kerber 15. Nov 2003 17:53

Re: DBGrid in einem Report?
 
Hallo Sven,

habe Dich jetzt verstanden, aber keine Lösung. :? Es sei denn, Du hängst nicht unbedingt an den Kreuztabellen.

SvenT 15. Nov 2003 18:00

Re: DBGrid in einem Report?
 
Hallo r_kerber!

Danke für die schnelle Antwort. Es muss nicht unbedingt eine Kreuztabelle sein. Aber ich sehe keine andere Lösung für das Problem. Oder gibt es eine andere Möglichkeit?

r_kerber 15. Nov 2003 18:07

Re: DBGrid in einem Report?
 
Hallo Sven,

das kommt darauf an, ob Di immer alle Jahre sehen willst.

SvenT 15. Nov 2003 19:38

Re: DBGrid in einem Report?
 
Hallo r_kerber!

Es müssen nicht immer alle Jahre sein.

r_kerber 16. Nov 2003 08:40

Re: DBGrid in einem Report?
 
Hallo Sven,

wenn Du Dich auf eine feste Anzahl von Jahren festelegen kannst, dann dürftest Du mit QR eigentlich kein Problem mehr haben.

SvenT 16. Nov 2003 10:52

Re: DBGrid in einem Report?
 
Hallo r_kerber!

Eine feste Anzahl von Jahren wäre OK. Allerdings weiß ich nicht, wie ich das im QR umsetzen soll. Die Labels würden sich doch in ein paar Jahren ändern. Es wäre echt nett von Dir, wenn Du mir dafür noch einen kleinen Denkanstoß gibst.

r_kerber 16. Nov 2003 10:57

Re: DBGrid in einem Report?
 
Hallo Sven,

mit Hilfe der Query!
SQL-Code:
SELECT 2001 as jahr1, 2002 as jahr2 2003 as jahr3,...
FROM tabelle
WHERE irgensetwas
Und im Report verbindest Du Spalten dann mit jahr1, jahr2, ...
Das SQL-Statement kann man entweder automatisieren oder einlesen.


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