AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mehrseitiger QuickReport aus TurboDB mit TdbQuery
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrseitiger QuickReport aus TurboDB mit TdbQuery

Ein Thema von dlenz · begonnen am 19. Jan 2007 · letzter Beitrag vom 23. Jan 2007
Antwort Antwort
dlenz

Registriert seit: 17. Jan 2007
25 Beiträge
 
#1

Mehrseitiger QuickReport aus TurboDB mit TdbQuery

  Alt 19. Jan 2007, 13:27
Datenbank: TurboDB • Version: 5 • Zugriff über: TdbTable/TdbQuery/TDataSource
Hallo Liebe Leute,

ich hänge immer noch an meinem mehrseitigen QuickReport. Bisher habe ich diesen Code:

Meine PROGRAMMNAME.DPR:
Delphi-Quellcode:
program PROGRAMMNAME;

uses
  Forms,
  main in 'main.pas{frm_main},
  u_qr1 in 'u_qr1.pas{Seite1},
  u_qr2 in 'u_qr2.pas{Seite2};

{$R *.res}

begin
  Application.Initialize;
  Application.Title := 'A-E-M';
  Application.CreateForm(Tfrm_main, frm_main);
  Application.CreateForm(TSeite1, Seite1);
  Application.CreateForm(TSeite2, Seite2);
  Application.Run;
end.
Meine main.PAS (Main-Unit):
Delphi-Quellcode:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, DB, TdbLicense, TdbDataSet,
  Grids, DBGrids, Buttons, QuickRpt, TdbQuery;

type
    Tfrm_main = class(TForm)
    DBEdit1: TDBEdit;
    Image1: TImage;
    TdbTable1: TTdbTable;
    DataSource1: TDataSource;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBNavigator1: TDBNavigator;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBGrid1: TDBGrid;
    DBEdit13: TDBEdit;
    BitBtn1: TBitBtn;
    DBEdit14: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit20: TDBEdit;
    DBEdit21: TDBEdit;
    DBEdit22: TDBEdit;
    DBEdit23: TDBEdit;
    DBEdit24: TDBEdit;
    DBEdit25: TDBEdit;
    DBEdit26: TDBEdit;
    QRCompositeReport1: TQRCompositeReport;
    TdbQuery1: TTdbQuery;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure QRCompositeReport1AddReports(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  frm_main: Tfrm_main;

implementation

uses u_qr1, u_qr2;

{$R *.dfm}

procedure Tfrm_main.FormCreate(Sender: TObject);
 var dbfrm: string;
begin
 dbfrm := ExtractFilePath(ParamStr(0))+'db/db.tdbd';
 TdbTable1.Active := False;
 try
  TdbTable1.DatabaseName := dbfrm;
  TdbTable1.TableName := 'antragsgegner';
  TdbTable1.Active := True;
 except
  MessageBeep(0);
  ShowMessage('Die Tabelle db.tdbd befindet' + #10#13 +'sich nicht im angegebenen Verzeichnis!')
 end
end;

procedure Tfrm_main.BitBtn1Click(Sender: TObject);
 var dbqr : string;
begin
 dbqr := ExtractFilePath(ParamStr(0))+'db\db.tdbd';

 QRCompositeReport1.TdbQuery1.Close;
 QRCompositeReport1.TdbQuery1.DatabaseName := dbqr;

 QRCompositeReport1.TdbQuery1.SQL.Clear;
 QRCompositeReport1.TdbQuery1.SQL.Add('SELECT * FROM antragsgegner WHERE ID =' + DBEdit1.Text);

 showmessage(QRCompositeReport1.TdbQuery1.SQL.text);

 QRCompositeReport1.TdbQuery1.Open;

 QRCompositeReport1.Preview;
end;

procedure Tfrm_main.QRCompositeReport1AddReports(Sender: TObject);
begin
  with QRCompositeReport1.Reports do
 begin
  Add(Seite1.Report);
  Add(Seite2.Report);
 end;
end;

end.
Meine beiden QuickReports (u_qr1.PAS und u_qr2.PAS, beide nahezu identisch, eben nur Report-Units):
Delphi-Quellcode:
unit u_qr1;

interface

uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
  StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls, DB, TdbLicense, TdbDataSet, TdbQuery;

type
  TSeite1 = class(TQuickRep)
    TdbQuery1: TTdbQuery;
    TitleBand1: TQRBand;
    QRDBText1: TQRDBText;
    QRLabel1: TQRLabel;
    QRLabel2: TQRLabel;
    QRLabel3: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRImage1: TQRImage;
    QRDBText2: TQRDBText;
    QRDBText4: TQRDBText;
    QRDBText5: TQRDBText;
    QRDBText6: TQRDBText;
    QRDBText7: TQRDBText;
    QRDBText8: TQRDBText;
    QRDBText9: TQRDBText;
    QRDBText10: TQRDBText;
    QRDBText11: TQRDBText;
    QRDBText12: TQRDBText;
    QRDBText13: TQRDBText;
  private

  public

  end;

var
  Seite1: TSeite1;

implementation

{$R *.DFM}

end.
die u_qr2.PAS sieht in etwa genauso aus, es werden nur andere Tabellenfelder eingefügt.

Das Programm läuft aber nicht.
Ich bekomme mehrere Fehlermeldungen:
[Fehler] main.pas(97): Undefinierter Bezeichner: 'TdbQuery1'
[Fehler] main.pas(98): Undefinierter Bezeichner: 'TdbQuery1'
[Fehler] main.pas(100): Undefinierter Bezeichner: 'TdbQuery1'
[Fehler] main.pas(100): Operator oder Semikolon fehlt
[Fehler] main.pas(101): Undefinierter Bezeichner: 'TdbQuery1'
[Fehler] main.pas(101): Operator oder Semikolon fehlt
[Fehler] main.pas(103): Undefinierter Bezeichner: 'TdbQuery1'
[Fehler] main.pas(103): Operator oder Semikolon fehlt
[Fehler] main.pas(114): Undefinierter Bezeichner: 'Report'
[Fehler] main.pas(115): Undefinierter Bezeichner: 'Report'
[Fataler Fehler] aem.dpr(7): Verwendete Unit 'main.pas' kann nicht compiliert werden

Was mache ich falsch? Ich sehe mal wieder den Wald vor lauter Bäumen nicht , bitte helft mir aus der Patsche!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Mehrseitiger QuickReport aus TurboDB mit TdbQuery

  Alt 19. Jan 2007, 13:34
TdbQuery1 befindet sich auch nicht auf dem Formular von QR sondern auf dem Hauptformular.
Markus Kinzler
  Mit Zitat antworten Zitat
dlenz

Registriert seit: 17. Jan 2007
25 Beiträge
 
#3

Re: Mehrseitiger QuickReport aus TurboDB mit TdbQuery

  Alt 19. Jan 2007, 14:22
also muss dann das TdbQuery jeweils auf das Formular vom QucikReport?
und beide male muss ich dann die SQl-Anweisung einbinden?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Mehrseitiger QuickReport aus TurboDB mit TdbQuery

  Alt 19. Jan 2007, 14:24
Nein, aber du greifst darauf zu, als ob es so wäre:

Zitat:
QRCompositeReport1.TdbQuery1.Close;
Markus Kinzler
  Mit Zitat antworten Zitat
dlenz

Registriert seit: 17. Jan 2007
25 Beiträge
 
#5

Re: Mehrseitiger QuickReport aus TurboDB mit TdbQuery

  Alt 19. Jan 2007, 14:26
also muss das so aussehen:
Seite1.TdbQuery1.Close; ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Mehrseitiger QuickReport aus TurboDB mit TdbQuery

  Alt 19. Jan 2007, 14:29
Zitat von dlenz:
also muss das so aussehen:
Seite1.TdbQuery1.Close; ?
Nein
frm_main.TdbQuery1.Close; oder
TdbQuery1.Close; oder
self.TdbQuery1.Close;
Markus Kinzler
  Mit Zitat antworten Zitat
dlenz

Registriert seit: 17. Jan 2007
25 Beiträge
 
#7

Re: Mehrseitiger QuickReport aus TurboDB mit TdbQuery

  Alt 20. Jan 2007, 16:21
Aber die zweite Seite taucht nicht in der Preview auf, warum?
  Mit Zitat antworten Zitat
dlenz

Registriert seit: 17. Jan 2007
25 Beiträge
 
#8

Re: Mehrseitiger QuickReport aus TurboDB mit TdbQuery

  Alt 23. Jan 2007, 11:32
ich habe immer noch das Problem, dass die zweite Seite nicht in der Vorschau auftaucht bzw. auch nicht ausgedruckt wird, warum?
  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 08:35 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