Veröffentlicht 11. April 200223 j Hallo Leute, ich hab ein kleines Problem bei dem Bericht von Delphi. Jeder weiß das es in Access einen Möglichkeit gibt in einem Bericht die Summe in der Summery Zeile von Daten zu Bilden. Also das was im Detailbereich steht wird zusammengezählt. In Delphi ist das acuh möglich, ich weiß aber nicht wie das geht. Wenn ich einen QRexpr setze dan bekomm ich beim Report nix angezeigt. Hat einer eine Lösung parrat. Ist dringend Danke für eure Hilfe,
11. April 200223 j Original geschrieben von KleinerChaot Hallo Leute, ich hab ein kleines Problem bei dem Bericht von Delphi. Jeder weiß das es in Access einen Möglichkeit gibt in einem Bericht die Summe in der Summery Zeile von Daten zu Bilden. Also das was im Detailbereich steht wird zusammengezählt. In Delphi ist das acuh möglich, ich weiß aber nicht wie das geht. Wenn ich einen QRexpr setze dan bekomm ich beim Report nix angezeigt. Hat einer eine Lösung parrat. Ist dringend Danke für eure Hilfe, Indem du dir in deinem Report ne Hilfavariable anlegst und die bei QuickReportOnBeforePrint (also ganz am anfang) auf 0 setzt. Bei DetailBandOnBeforePrint zählst du den Wert des angezeigten Felds zu der Hilfsvariable dazu. Die Summe steht dann in einem Band das unter dem Details kommt und da gibst du die Hilfsvariable dann einfach aus. Bei Access geht das auch so, nur siehst du davon nix ...
11. April 200223 j ICh weiß nett, es funktioniert irgendwie nciht. Kannst du mir den Quelltext hier reinschreiben dafür? Wäre echt super bis dann.... Danke im voraus
11. April 200223 j Hab leider keinen Quelltext hier, und morgen hab ich Urlaub ... ich versuch mal was aus dem Kopf.. sollte so ungefähr aussehen: TQuickReport1 = Class(TQuickReport) {hier stehen die Komponenten die du eingefügt hast u.ä.} private Hilfsvariable: Single; public end; {Am Anfang Hilfsvariable initialisieren} procedure TQuickReport.QROnBeforePrint(Sender: TObject); begin Hilfsvariable:= 0; end; {Für das Details-Band auf dem du die DBText Komponenten hast machst du eine Ereignissprozedur. Objektmanager auf Ereignisse wechseln und Doppelklick bei OnAfterPrint} procedure TQuickReport.DetailsBandOnAfterPrint(Sender: TObject {und sonst noch was...}) begin {edtFeld ist hierbei die DBText-Komponente die dein Feld enthält} Hilfsvaiable := Hilfvariable + StrToFloat(edtFeld.Text); {So addierst du für jeden Datensatz den entsprechenden Wert auf} end; {In einem Band nach den Detailsband kommt dann die Summe, was du dafür nimmst bleibt dir überlassen, ich weiss jetzt auch nciht auswendig was für Typen es gibt, hierbei nimmst du kein DBText-Feld sondern ein QRLabel zum Beispiel, hier lblSumme} procedure TQuickReport.SummeBandOnBeforePrint(Sender: TObject {...}); begin lblSumme.Caption := Format('%.2n', [Hilfsvariable]); {Über die Format-Funktion kannst du formatierten Text ausgeben, einfach in der hilfe nachsehen und dort dann [i]Format-Strings[/i] näher ansehen} end; Das sollte es gewesen sein, hoffe es hilft dir.
12. April 200223 j das band das marc meint ist ein QRSubDetailBand und darauf platzierst du einfach dein label ;o) kriegst das scho hin uruz
12. April 200223 j Hi also dane compilieren kann ich den kram. Jetzt bringt er nur, beim erstellen des Berichts aus dem Programm eine Fehlermeldung "...." is not a valid floating point value. Das Feld is in der Datenbank als Alpha deklariert. Auch wenn ich es als LongInt definier bringt mir das auch nix, da bringt er mir dann eine andere Fehlermeldung *heul* Ich will damit heute fertig sein was tun
12. April 200223 j OK danke für deine Hilfe ich hab es hinbekommen:WD jippi. Vielleicht kannst mir mal deine e-Mal verraten, für weiter Problemchen Danke nochmal
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.