AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TQuickreport & Expression

Ein Thema von Moony · begonnen am 7. Sep 2006 · letzter Beitrag vom 9. Sep 2006
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

TQuickreport & Expression

  Alt 7. Sep 2006, 22:58
Hallo zusammen,

ich habe einen Quickreport erstellt, welches an ein Dataset mit den entsprechenden Feldern gebunden ist. Da der Inhalt meines Datasets sich aus mehreren Tabellen zusammensetzt, muß ich innerhalb des Quickreports einen Wert für jede Zeile neu überprüfen lassen.
Hierzu habe ich ein Feld des Typs TQRExpr eingefügt und hier drin eine If Abfrage gesetzt. Das funktioniert einwandfrei. Mein Problem besteht darin, dass ich für jede neue Zeile (aus dem Dataset) in meinem Report auch die Expression-Komponente die If-Abfrage neu durchführen muss.

Beispiel:
Ich habe zwei Kategorien und jede Kategorie besitzt einen anderen Preis. Das Dataset besitzt 5 Datensätze. Im Expressionfeld steht IF(Dataset.Kategorie = '1',Dataset.Preis1,Dataset.Preis2) . So, und diese Abfrage soll für jeden Datensatz neu überprüft und ausgeführt werden.


Ich hoffe das ist soweit verständlich genug, was gemeint ist.

Hoffe auf eine schnelle Lösung & Danke im Vorraus.

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TQuickreport & Expression

  Alt 7. Sep 2006, 23:02
Hallo Moony,

warum macht du diese Auswertung nicht im OnBeforePrint? Da hast du viel mehr Möglichkeiten und benötigst keine Expression-Komponente, da kannst du Delphicode nutzen.

Aber warum machst du diese ganzen Geschichten nicht gleich im SQL-Statement?

Gruss
Thorsten
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#3

Re: TQuickreport & Expression

  Alt 8. Sep 2006, 09:25
Ich glaube SQL Statement dürfte leicht schwierig werden, weil mein Statement bereits aus 4 JOIN-Verknüpfungen besteht und ich weiß nicht wie ich diese Überprüfung da auch noch einbringen soll. Eventell mit einer IF-Abfrage bei der Auswahl der Datenfelder, aber ich glaube da hat er irgendwas zu meckern gehabt. Ich kanns ja mit dem BeforePrint versuchen was da raus kommt.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#4

Re: TQuickreport & Expression

  Alt 9. Sep 2006, 12:04
Man sollte auch den Wert richtig schreiben, dann funktioniert das auch.


Aber da wir schon bei Expression sind, ich muß von einem anderen expression-Feld den Wert nehmen, auswerten und in ein anderes Feld schreiben.

Beispiel:
Delphi-Quellcode:
  Wert := StrToFloat(Epr1.Value.strResult);
  if Dataset.FieldByName('Feld1').AsString = 'Neinthen
    Wert := Wert + StrToFloat('0,50');
  qrLabel.Caption := FloatToStr(Wert);
Das Ganze habe ich in die OnPrint-Routine des Labels eingebaut. Funktioniert so ganz gut, nur wenn er nicht bei allen Datensätzen nur das Ergebnis von dem letzten Datensatz anzeigen würde.

Hoffe jemand hat ne Lösung.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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