Entwickler-Ecke

Datenbanken - QuickReport


Christian S. - Di 30.07.02 18:55
Titel: QuickReport
Hi!

Ich möchte Daten aus einer Datenbank, die ich mit tQuery abfrage über QuickReport drucken. Das Problem ist, dass einige Daten als Integer gespeichert werden (müssen sie auch weiterhin, damit ich Vergleichsoperatoren benutzen kann) und wenn diese Daten vom Nutzer nicht eingegeben wurden, eine -1 gespeichert wird. Diese -1 soll dann aber bei QuickReport nicht gedruckt werden, sondern nur ein leeres Feld.

Wenn es nicht anders geht, erstelle ich eine temporäre Datenbank, in der ich die -1 (Integer) durch ""(String) ersetze, aber elegent ist anders, deswegen: gibt es da noch eine andere Lösung.

MfG,
Peter


MrSpock - Di 30.07.02 20:24

Hallo Peter Lustig,

du benutzt dazu einfach QRDBText Komponente, die du mit deinem Integer verbindest. Der OnPrint Methode weist du folgenden Text zu:


Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm2.QRDBText2Print(sender: TObject; var Value: String);
begin
  if MyTab.FieldByName('MyInteger').Value = -1 then
    Value := ''
  else
     Value := MyTab.FieldByName('MyInteger').AsString
end;


MyInteger muss natürlich durch den Namen deines Integerfeldes ersetzt werden.


Christian S. - Mi 31.07.02 13:30

Super! So funktioniert es!

Danke,
Peter