![]() |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
@mkinzler: also genau das hatte ich ja auch vor. Nur habe ich Probleme, meine Query auch entsprechend
umzusetzen. Also ich habe mir jetzt im Design-Modus eine "Series1" mit einem Torten-Diagramm angelegt. Ich bekomme aus meiner SQL-Query eine Datenmenge, die 4 Namen und entsprechend 4 Werte enthält. Nun würde ich natürlich gerne den Kuchen so aufteilen, dass ich sehen kann, wer wieviel Prozent der Gesamtsumme hat. Beispiel SQL ( SELECT Wert,Name FROM tabelle) ergibt:
Delphi-Quellcode:
Nun müsste ich ja zunächst die Gesamtsumme vom Wert bekommen und diese dann zuweisen. Hier liegt das Problem.
|Wert| |Name|
123234 Meier 343434 Huber 312123 Klein 90909 Meissner Ich bekomme das nicht hin bzw. weiß nicht genau, wie ich die Werte zuordnen kann. Irgendwie so in dieser Richtung:
Delphi-Quellcode:
Naja, da hängt es jetzt halt noch bei mir...Vielleicht einen Tipp?
///////DBChart zur Laufzeit füllen
Series1.DataSource:= dsMain; Series1.YValues.ValueSource:='bla'; Series1.XLabelsSource:= 'bla'; Liebe Grüße Steffi |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Delphi-Quellcode:
Grüße
Series1.YValues.ValueSource:=Query.FindField('Wert').AsString;
Series1.XLabelsSource:= Query.FindField('Name').AsString; Mikhal |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
so nun habe ich den ganzen Thread nochmals durchgearbeitet und komme aber immer noch nicht zu meinem gewünschten Ergebnis. Wenn ich das DBChart im Design-Modus einstelle klappt alles wunderbar. Aber ich bekomm es zur Laufzeit einfach nicht gebacken... :oops: Ich hab hier mal ein Bildchen angehängt, mit meinen Eingaben im Design-Modus. Damit bekomme ich genau was ich haben möchte. Wenn ich aber das Ganze lösche und versuche über Series1.DataSource... das DBChart zur Laufzeit zu erzeugen bekomme ich es nicht hin. Kann mir vielleicht nochmal anhand meines Bildchens zeigen, was ich zur Laufzeit codieren muss? :gruebel: Liebe Grüße Steffi |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Oha, so langsam komme ich dann auf den Trichter:
Delphi-Quellcode:
liefert mir ein Chart mit EINEM Balken aus der Ergebnismenge. Wenn ich im DBGrid weiter gehe,
////////////////////
/// DBCharting Series1.DataSource:= dsMain; Series1.XLabelsSource:= 'Month'; Series1.XValues.ValueSource:='Month'; Series1.YValues.ValueSource:= 'count(*)'; aktualisiert das DBChart sich sofort. Allerdings hätte ich nun noch gerne ALLE Balken auf einmal auf meinem DBChart... :gruebel: Liebe Grüße Steffi |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Tja, da habe ich dich wohl heute auf die falschee Fährte geschickt...
Delphi-Quellcode:
Ich habe dann bei mir alle Balken meiner Abfrage angezeigt.
qrMain.Active := False;
Series1.DataSource := qrMain; Series1.YValues.ValueSource := 'Anzahl'; // dein Count(*) solltest du mit einem Alias versehen, etwa " COUNT(*) AS Anzahl" Series1.XValues.ValueSource := 'Month'; Series1.XLabelsSource := 'Month'; qrMain.Open; Grüße Mikhal |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Hab' noch was übersehen: ValueSource erwartet einen Zahlenwert! Hast du den Monat als String gespeichert, kracht es hier! Dann reicht der Eintrag in XLabels.
Grüße Mikhal [edit]Tippfehler...[/edit] |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Liste der Anhänge anzeigen (Anzahl: 1)
Naja, dass ist nicht schlimm. Ich bin hier fleißig am ausprobieren...
Also es sei dir verziehen :lol: Ich wundere mich aber darüber, dass ich nur einen Balken bekomme. Muss ich vielleicht noch etwas einstellen? Hängt es damit zusammen, dass ich gleichzeitig noch ein DBGrid im Einsatz habe? :gruebel: Im Anhang mal wieder ein Bildchen. Ich verzweifle noch. Liebe Grüße Steffi PS: der Monat ist bei als integer... |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Kopple das DBGrid mal ab, wenn du dann immer noch nur einen Balken siehst, schick doch mal dein Select-Statement, damit man auch dort einen möglichen Fehler finden kann.
Grüße Mikhal |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Also das DBGrid ist es schon mal nicht... :roll:
Hier mal mein Statement:
Delphi-Quellcode:
Hmmm, also ich kann da kein Fehler erkennen... Aber das heißt ja noch gar nichts :wink:
begin
qrMain.SQL.Clear; qrMain.SQL.Text:= 'SELECT Month(created) AS month, COUNT(*) AS count FROM tabelle where year(created)=:jahr GROUP BY Month(created);'; qrMain.ParamByName('jahr').asString := IntToStr(1999); qrMain.Active:= True; qrMain.open; Liebe Grüße Steffi |
Re: TDBChart in Abhängigkeit zur ausgeführten Query...
Zuerst drei kleine Anmerkungen:
1. die Textzuweisung via qryMain.SQL.Text löscht automatisch die SQL-StringList, also kannst du dir das qrMain.Clear sparen. 2. qrMain.Open und qrMain.Active = True machen das Gleiche, also ist eins überflüssig. 3. du verwendest als Alias für deine Anzahl das SQL-Schlüsselwort Count, wundert mich, dass da keine Fehlermeldung kommt. In der Select-Anweisung selbst kann ich jetzt keinen Fehler finden, ich würde aber nach der Parameterzuweisung noch die Zeile "qrMain.Prepared := True;" einsetzen. Ist eine Gewohnheit aus alten Tagen, weil unter ADO nicht immer die Parameterliste korrekt abgearbeitet wurde, wenn diese Zeile fehlte. Grüße Mikhal [edit]Korrekturen...[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:44 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 by Thomas Breitkreuz