Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [FastReport] Innerhalb des Report in einem DataSet suchen (https://www.delphipraxis.net/149985-%5Bfastreport%5D-innerhalb-des-report-einem-dataset-suchen.html)

RWarnecke 4. Apr 2010 10:07


[FastReport] Innerhalb des Report in einem DataSet suchen
 
Hallo zusammen,

ich möchte gerne in einem FastReport-Bericht in einem übergebenen DataSet nach einem bestimmten Suchbegriff filtern. Das ganze muss/sollte in dem Pascalteil geschehen.

Wie übernehme ich die folgende Funktion in das Pascalskript ?
Delphi-Quellcode:
function TDM_Main.GetKTOText(KTONr: string; KRNr: Integer): string;
begin
  with UniQuery_Temp2 do
  begin
    SQL.Clear;
    SQL.Text := 'SELECT * FROM kto WHERE KTO1 = :K';
    ParamByName('K').AsString := KTONr;
    Open;
    if FieldByName('KTO' + IntToStr(KRNr)).AsString <> null then
      Result := FieldByName('KTO' + IntToStr(KRNr)).AsString
    else
      Result := '';
    Close;
  end;
end;

haentschman 4. Apr 2010 10:33

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
Guten Morgen... :hi:

Wenn du mich fragst, gar nicht. Ich würde das auch als Mißbrauch ansehen. :zwinker: Ein Report ist dafür auch nicht zuständig. Der soll nur das was er bekommt darstellen. Die Aufarbeitung der Daten sollte mal schön die Anwendung übernehmen und dem Report in optimaler Weise zur Verfügung stellen.
Das Script sollte eher nur dazu dienen:
- visuelle Darstellung in Abhängigkeit von Feldwerten.
- kleinere Berechnungen mit vorhandenen Daten

:hi:

RWarnecke 4. Apr 2010 10:47

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
Hallo haentschman,

die Funktion gibt mir ja einen Wert zurück, den ich in einer IF-Abfrage überpüfe um damit ein Memo im Report anzeige oder verstecke.

Die SELECT-Anweisung habe ich im Programm ausgeführt und an ein DataSet im Report übergeben. Da stellt sich mir jetzt nur die Frage, wie filtere ich jetzt diesen DataSet nach der KTONr ? Das Feld KTONr wird in dem Report angezeigt und genachdem welche KTONr ich habe muss ich anhand der IF-Abfrage und der Funktion das Feld angezeigt oder nicht.

mkinzler 4. Apr 2010 11:10

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
Im OnAfterScroll des anderen DataSets

RWarnecke 4. Apr 2010 11:41

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
Hallo Markus,

wo meinst Du genau ? Ich finde das Ereignis "OnAfterScroll" in keiner der Komponenten. Kannst Du mir bitte sagen, wo genau das Ereignis ist ? Irgendwie stehe ich gerade auf dem Schlauch.

mkinzler 4. Apr 2010 11:52

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
Im DataSet (Query o.ä) aus dem KtoNr stammt

haentschman 4. Apr 2010 11:58

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
Zitat:

Das Feld KTONr wird in dem Report angezeigt und genachdem welche KTONr ich habe muss ich anhand der IF-Abfrage und der Funktion das Feld angezeigt oder nicht.
wieviele verschiedene Kontonummern mußt du filtern ? Oder ist es nur eine Kontonummer wo das Memo ausgeblendet wird. Erklär mal bitte wie viele Möglichkeiten entstehen können.

RWarnecke 4. Apr 2010 12:17

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
Der Aufruf der Funktion ist folgendermaßen :
Delphi-Quellcode:
DM_Main.GetKTOText('4190', Grunddaten.KRNr)
Dabei ist nur die Eigenschaft KRNr aus der Klasse Grunddaten variabel.

haentschman 4. Apr 2010 12:29

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
versteh ich nicht :gruebel: Was hat dieser Aufruf mit dem Report zu tun ? Im Report hast du die Kontonummern und in Abhängigkeit wievieler Varianten soll das Memo angezeigt werden ?

Edit:
kannst du das was du erreichen möchtest mal visualisieren ? Inhalt des übergebenen Datasets und wann soll was sichtbar sein...oder so :zwinker:

RWarnecke 4. Apr 2010 12:44

Re: [FastReport] Innerhalb des Report in einem DataSet suche
 
Ich danke euch beiden. Ich habe das ganze jetzt anderst gemacht. Das Ergebnis der Funktion "GetKTOText" ermittel ich und gebe es an eine Variable im Report. Mit dieser Variable überprüfe ich nun die Kontonummern und lasse durch eine IF-Abfrage das Memo anzeigen oder nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.
Seite 1 von 2  1 2      

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