Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mehrere Rave-Reports drucken (https://www.delphipraxis.net/39487-mehrere-rave-reports-drucken.html)

Detlef 3. Feb 2005 13:41


mehrere Rave-Reports drucken
 
Hallo Delphianer,
habe wieder mal ein merkwürdiges Problem und sehe sicher den Wald vor
lauter Bäumen nicht.
In einer meiner Anwendungen will ich nacheinander Rave-Reports erstellen.
Dazu erzeuge ich immer ein neues Dataset mit neuem Inhalt.
Dies wird auch ordentlich angezeigt.
Beim 1. Report ist alles o.k.
Ab dem 2. wird mit Rave immer der 1. gedruckt.Merkt sich da RAVE etwas, was ich vielleicht erst löschen muß?

Wer hat einen Tip?

Detlef :wall:

Albi 4. Feb 2005 07:40

Re: mehrere Rave-Reports drucken
 
Hallo,

Versteh ich das richtig, Du willst die Daten aus deiner Dataset ausdrucken und erstellst für jeden neuen Datensatz eine neue Dataset.

Wenn das nicht zwingend erforderlich ist, dann arbeite doch mit dem Detailband, dann brauchst Du nur ein Rave-Report. Dann sagst Du Rave noch, dass er bei jedem neuen DS eine neue Seite beginnen soll und schon sollte gehen.

Wenn Du das nicht so machen willst, dann versuche mal die Dataview zu löschen bevor Du die neue Dataset erstellt. Ich weiß es zwar nicht genau aber es könnte sein, dass da noch das alte Ergebnis drin steht.

merlin17 4. Feb 2005 08:06

Re: mehrere Rave-Reports drucken
 
Detlef,
wie sieht dein Code aus? ein paar Codeschnipselchen wären nicht schlecht;


:-) thomas, TeamNevrona

Detlef 4. Feb 2005 20:54

Re: mehrere Rave-Reports drucken
 
Hallo Thomas,
habe mich wohl dämlich ausgedrückt.
Ich möchte für mehrere Personen nacheinander Arbeitszeitlisten aus
verschienenen Textdateien (je Person) erstellen.

So ungefähr:
Delphi-Quellcode:
//Arbeitszeitrechnung
//Verarbeitung im Zyklus je Person
for personnr:=1 to personanzahl do begin
   LOADMONAT;
   DRUCKAZLISTE1;
end;

procedure TAzeitrechdlg.loadmonat;
var
temptext: string;
azs: integer;
tagmin: integer;
i: integer;
temp: integer;
begin
   aktmon:=lmon.Text;
   adodataset1.First;
   while not adodataset1.eof do adodataset1.Delete;
   temptext:='Bediener='+quotedstr(bediener)+' AND Monat='+Quotedstr(aktmon);
   adotable1.Filter:=temptext;
   adotable1.Filtered:=true;
   bernehmen1.Enabled:=false;
   if adotable1.recordcount=0 then bernehmen1.Enabled:=true;
   for azs:=0 to azlist.count-1 do begin
       if copy(getsemistrfeld(azlist[azs],2),1,6)<>aktmon then continue;
       adodataset1.append;
       adodataset1['Datum']:=getsemistrfeld(azlist[azs],2);
       adodataset1['Begzeit']:=getsemistrfeld(azlist[azs],3);
       adodataset1['Endzeit']:=getsemistrfeld(azlist[azs],4);
       adodataset1['Dauer']:=getsemistrfeld(azlist[azs],5);
       adodataset1['Bem']:=getsemistrfeld(azlist[azs],6);
       temptext:=trim(getsemistrfeld(azlist[azs],5));
       tagmin:=0;
       if temptext<>'' then tagmin:=strtomin(getsemistrfeld(azlist[azs],5));
       monistmin:=monistmin+tagmin;
       adodataset1['Min']:=tagmin;
       adodataset1.Post;
   end;
end;
procedure TAzeitrechdlg.DruckAZListe1Click(Sender: TObject);
var
temptext: string;
begin
   rvproject1.SetParam('Monat',aktmon);
   rvproject1.Open;
   if not rvproject1.SelectReport('Report1',false) then begin
      temptext:=temptext;
   end;
   rvproject1.execute;
   rvproject1.Close;
end;
gedruckt wird halt immer nur der 1. Report immer wieder.

Wie kann ich denn ein Dataview löschen?
Bin halt wieder mal

Rudi Ratlos!

Gruß Detlef

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]

Albi 6. Feb 2005 09:26

Re: mehrere Rave-Reports drucken
 
Hallo,

wenn ich das richtig sehe filterst Du die Table bereits. Dann kannst Du doch dieses Ergebnis als Grundlage für den Report nehmen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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