AGB  ·  Datenschutz  ·  Impressum  







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

Ace Reporter

Ein Thema von malkia · begonnen am 8. Okt 2007 · letzter Beitrag vom 9. Okt 2007
Antwort Antwort
malkia

Registriert seit: 24. Sep 2007
Ort: Aachen
3 Beiträge
 
#1

Ace Reporter

  Alt 8. Okt 2007, 10:59
Hallo allerseits,
Ich möchte euch um Hilfe bitten.
Es geht um folgendes:

Ich möchte mit Hilfe von Ace Reporter
ein Protokoll erstellen, das in eine Hauptgruppe und eine Untergruppe
geteilt wird
Die Hauptgruppe in meinem Fall ist eine Prozessnummer,die aus dem Datenbank auslese.
Die Untergruppe sind unterschidliche Stationsnammen, die befinden sich auch in der Datenbank
Ich habe die Hauptteilung schon gemacht mit Hilfe von OnDataStart und on onDataSkip Events.
Das Probelemm ist , dass ich nicht weiss wie ich die Untergruppe programmieren soll.
Ich hab es versucht mit einem SubDataBand, das von dem DeteilDataBand abgeleitet ist.
Leider hat es nichht geklappt.

Hier ist der Code:

Delphi-Quellcode:
unit ArtikelFixedPrintIB;

interface

{$I Konfig }

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, forms, tntforms, Dialogs,
  VORLAGEREPORT, Db, SctCtrl, SctRep, SctVar, extctrls, tntextctrls,
  menus, tntmenus, AcePage, gpTimeZone
  , AbstractDataBase
  , TranslateAbstract
  , CustomDefs
  , ArtikelDefs
  , CommonUtils
  , SetUtils
  ,PSETUP
{$IFDEF Taktmatrix }
  , MatrixTypes, IBCustomDataSet
{$ENDIF Taktmatrix }
  ;

type
  TArtikelFixedPrtFrm = class(TrepVorlage)
    Sctvarlabel2: TSctvarlabel;
    tblmainIDVar: TSctDBVar;
    tblmainPARTNUMBERVar: TSctDBVar;
    tblmainREVIDVar: TSctDBVar;
    tblmainCREATEDVar: TSctDBVar;
    tblmainCREATEPERSVar: TSctDBVar;
    tblmainCHANGEDVar: TSctDBVar;
    tblmainCHANGEPERSVar: TSctDBVar;
    tblmainPERMITVar: TSctDBVar;
    tblmainPERMITPERSVar: TSctDBVar;
    tblmainCHANGEDBIASVar: TSctDBVar;
    tblmainCREATEDBIASVar: TSctDBVar;
    tblmainPERMITBIASVar: TSctDBVar;
    tblmainREMARKVar: TSctDBVar;
    tblmainTQUALITYDATAMASTER_IDVar: TSctDBVar;
    tblmainGRAFIKNAMEVar: TSctDBVar;
    tblmainBEZEICHNUNGVar: TSctDBVar;
    tblmainABFUELLEN_IN_KISTEVar: TSctDBVar;
    tblmainPARTREMARKVar: TSctDBVar;
    varlabel5: TSctvarlabel;
    Sctvarlabel4: TSctvarlabel;
    Sctvarlabel26: TSctvarlabel;
    Sctvarlabel38: TSctvarlabel;
    Sctvarlabel39: TSctvarlabel;
    Sctvarlabel40: TSctvarlabel;
    Sctvarlabel46: TSctvarlabel;
    Sctvarlabel47: TSctvarlabel;
    Sctvarlabel48: TSctvarlabel;
    Sctvarlabel49: TSctvarlabel;
    Sctvarlabel50: TSctvarlabel;
    Sctvarlabel51: TSctvarlabel;
    Sctvarlabel3: TSctvarlabel;
    Sctvarlabel7: TSctvarlabel;
    iqryDetails: TAbstractDataSet;
    dsiqryDetails: TDataSource;
    DataSourceGuide1: TSctDataSourceGuide;
    iqrydetailsPROCESSNUMBERVar: TSctDBVar;
    iqrydetailsSETVALUEVar: TSctDBVar;
    iqrydetailsUPPERLIMITVar: TSctDBVar;
    iqrydetailsLOWERLIMITVar: TSctDBVar;
    iqrydetailsANLAGEVar: TSctDBVar;
    iqrydetailsTPARTMASTER_IDVar: TSctDBVar;
    iqrydetailsNAMEVar: TSctDBVar;
    iqrydetailsSTATIONVar: TSctDBVar;
    iqrydetailsEINHEITVar: TSctDBVar;
    iqrydetailsSTATIONNAMEVar: TSctDBVar;
    Data: TSctSubDataBand;
    DataLevel: TSctLevel;
    DataHeader: TSctDataHeadBand;
    DataHeaderLevel: TSctLevel;
    Data1: TSctSubDataBand;
    Data1Level: TSctLevel;
    Data1Header: TSctDataHeadBand;
    Data1HeaderLevel: TSctLevel;
    Sctvarlabel33: TSctvarlabel;
    Sctvarlabel34: TSctvarlabel;
    Sctvarlabel35: TSctvarlabel;
    Sctvarlabel36: TSctvarlabel;
    Sctvarlabel37: TSctvarlabel;
    evAnlage: TSctExprVar;
    iqrydetailsSTATIONENVar: TSctDBVar;
    iqrydetailsSORTERVar: TSctDBVar;
    Sctvarlabel9: TSctvarlabel;
    Sctvarlabel10: TSctvarlabel;
    Sctvarlabel11: TSctvarlabel;
    Sctvarlabel12: TSctvarlabel;
    Sctvarlabel13: TSctvarlabel;
    Sctvarlabel14: TSctvarlabel;
    Sctvarlabel15: TSctvarlabel;
    evAbfuelen: TSctExprVar;
    evRevKorb: TSctExprVar;
    Sctvarlabel16: TSctvarlabel;
    Sctvarlabel17: TSctvarlabel;
    Sctvarlabel21: TSctvarlabel;
    Sctvarlabel19: TSctvarlabel;
    iqry2Details: TAbstractDataSet;
    dsIqry2Details: TDataSource;
    DataSourceGuide2: TSctDataSourceGuide;
    iqry2detailsPROCESSNUMBERVar: TSctDBVar;
    iqry2detailsSETVALUEVar: TSctDBVar;
    iqry2detailsUPPERLIMITVar: TSctDBVar;
    iqry2detailsLOWERLIMITVar: TSctDBVar;
    iqry2detailsANLAGEVar: TSctDBVar;
    iqry2detailsTPARTMASTER_IDVar: TSctDBVar;
    iqry2detailsNAMEVar: TSctDBVar;
    iqry2detailsSTATIONVar: TSctDBVar;
    iqry2detailsSTATIONENVar: TSctDBVar;
    iqry2detailsEINHEITVar: TSctDBVar;
    iqry2detailsSORTERVar: TSctDBVar;
    iqry2detailsSTATIONNAMEVar: TSctDBVar;
    Sctvarlabel8: TSctvarlabel;
    procedure DataDataStart(Sender: TObject);
    procedure DataDataSkip(Sender: TObject);
    procedure Data1DataStart(Sender: TObject);
    procedure Data1DataSkip(Sender: TObject);
    procedure evAnlageGetData(oVar: TSctVar);
    procedure evAbfuelenGetData(oVar: TSctVar);
    procedure evRevKorbGetData(oVar: TSctVar);
  private
    { Private-Deklarationen }
    GroupValue: string;
    GroupValue1: string;
  protected
    procedure BeforeRun(Filter: string; SortIndex: INTEGER); override;
    procedure BeforeRun(aID: Integer); override;
    procedure BeforeRun(aID: Integer; aSubID: Integer); override;
  public
    { Public-Deklarationen }
  end;
const
  FieldBreak : Array[0..1] of string[20] = ('PROCESSNUMBER','STATIONNAME');
  REVERS : string = ('Reversieren');
  KORB : string = ('Korb Reinigen nach Loswechsel');


implementation

{$R *.DFM}
uses ArtikelEditFrame;

procedure TArtikelFixedPrtFrm.BeforeRun(Filter: string; SortIndex: INTEGER);
begin
end;

procedure TArtikelFixedPrtFrm.BeforeRun(aID: Integer);
begin
  ReportPage.PageSetup.Destination := destScreen;
  report.Prompt := TRue;

end;

procedure TArtikelFixedPrtFrm.BeforeRun(aID: Integer; aSubID: Integer);
begin
end;

procedure TArtikelFixedPrtFrm.Data1DataSkip(Sender: TObject);
var
   NextValue,
      NextValue1 : string;
begin
  with Sender as TSctSubDataBand do
  begin
    DataSource.DataSet.Next;
    if DataSource.DataSet.Eof then
      DataIsFinished := True
    else
    begin
      NextValue := DataSource.DataSet.FieldByName(FieldBreak[0]).AsString;
      NextValue1 := DataSource.DataSet.FieldByName(FieldBreak[1]).AsString;
      if (GroupValue <> NextValue) or (GroupValue1 <> NextValue1) then
        DataIsFinished := True
    end;
  end;
end;

procedure TArtikelFixedPrtFrm.Data1DataStart(Sender: TObject);
begin
  with Sender as TSctSubDataBand do
  begin
    if DataSource.DataSet.Eof then
      DataIsFinished := True
    else
    begin
      GroupValue := DataSource.DataSet.FieldByName(FieldBreak[0]).AsString;
      GroupValue1 := DataSource.DataSet.FieldByName(FieldBreak[1]).AsString;
      DataIsFinished := False;
    end;
  end;
end;

procedure TArtikelFixedPrtFrm.DataDataSkip(Sender: TObject);
var
   NextValue :String;
begin
  with Sender as TSctSubDataBand do
  begin
    DataSource.DataSet.Next;
    if DataSource.DataSet.Eof then
      DataIsFinished := True
    else
    begin
      NextValue := DataSource.DataSet.FieldByName(FieldBreak[0]).AsString;
      if (GroupValue <> NextValue) then
        DataIsFinished := True
   end;
  end;
end;

procedure TArtikelFixedPrtFrm.DataDataStart(Sender: TObject);
begin
  with Sender as TSctSubDataBand do
  begin
    if DataSource.DataSet.Eof then
      DataIsFinished := True
    else
    begin
      DataSource.DataSet.First;
      GroupValue := DataSource.DataSet.FieldByName(FieldBreak[0]).AsString;
      DataIsFinished := False;
    end;
  end;
end;

end.
Vielen Dank im Voraus.
Angehängte Dateien
Dateityp: dfm artikelfixedprintib_171.dfm (17,9 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von f.siebler
f.siebler

Registriert seit: 15. Jan 2007
Ort: Hamburg
170 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Ace Reporter

  Alt 8. Okt 2007, 11:03
Hast du mal in die Samples geschaut? Ist da nichts dabei was dir weiterhelfen könnte?
Ich habe Ace Reporter leider nicht installiert...
Viele Grüße aus Hamburg
Fabian
sql-praxis.net: sql von der Theorie in die Praxis...
  Mit Zitat antworten Zitat
8. Okt 2007, 15:09
Dieses Thema wurde von "Phoenix" von "Neuen Beitrag zur Code-Library hinzufügen" nach "VCL / WinForms / Controls" verschoben.
Das ist eine Frage zu Reporting-Komponenten. Kein neuer Beitrag zur CodeLib.
malkia

Registriert seit: 24. Sep 2007
Ort: Aachen
3 Beiträge
 
#4

Re: Ace Reporter

  Alt 9. Okt 2007, 14:00
Zitat von f.siebler:
Hast du mal in die Samples geschaut? Ist da nichts dabei was dir weiterhelfen könnte?
Ich habe Ace Reporter leider nicht installiert...
Zitat von malkia:
Danke für den Tipp, das hat mir sehr goholfen .
Grüße aus Aachen.
  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 03:08 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