Konvertieren von Daten aus Datenbanken in ein Dokument in Delphi / Lazarus / C ++ Builder

2021-02-03

Wie eine Daten Mischung in Ordnung bringen, um einen informativen Report zu machen?

Oracle DB, MySQL, Microsoft SQL Server, PostgreSQL und FireBird sind wahrscheinlich die beliebtesten Datenbanken, aber das sind nur einige der zahlreichen Datenbanken, in denen Daten erstellt, gefüllt, geändert und verwaltet werden können.

OracleMySQL

Microsoft SQL Server

Oft erfüllen die Anwender eine Datenbank mit einer großen Daten Menge (z. B. in Zeiterfassungssystemen, Warenbestellungen) und es immer kommt in Frage „Wie erhält man die gewünschten Informationen?“ Daten sollen lesbar, verständlich oder zur weiteren Analyse bereit sein. Überlegen Sie, dass wenn wir über eine „vollständige Datenbank“ von Daten verfügen und wir (oder das Management des Unternehmens) wissen sollen, was in realer Zeit passiert. Also, lassen Sie uns die Daten effektiv nutzen! Im Laufe vom Arbeitszyklus werden die Daten gesammelt, dargestellt und analysiert! “Grundsätzlich ist dies die Definition von Business Intelligence (BI) in einer zugänglichen Sprache.

Es gibt viele Möglichkeiten, Reporte zu erstellen, eine von denen FastReport VCL ist. Es gibt einen Designer zum Generieren von Vorlagen, eine Vorschau und viele anderen Funktionen zum Ausführen von Aufgaben auf verschiedenen Ebenen - wir haben sie in anderen Artikeln berücksichtigt.

FastReport kann gleichzeitig mit mehreren Datenbanken arbeiten und kann aus sogenannten Benutzerquellen (keine Datenbank) die Daten extrahieren - Arrays oder gewöhnlichen Dateien.

Wie die Daten aus einer Delphi Datenbank bekommen?

Um die Informationsquelle zu verbinden, müssen Sie den Connector (TfrxDBDataSet) aus der Komponentenpalette verwenden. Dies ist die Verbindung zwischen Daten und FastReport.

Jetzt werde ich Ihnen kurz die Rolle der Komponenten erklären:

TfrxDBDataSet ist ein Element, das für die Arbeit mit der Datenquelle verwendet wird. Es ist auch mit TDataSet kompatibel, TfrxIBODataSet wird jedoch für IB-Objekte verwendet und TfrxUserDataSet clip0143 ist für andere Ressourcen vorgesehen - Arrays, Dateien usw.

Zunächst stellen wir über die DataSet-Eigenschaft eine Verbindung zur Abfrage selbst oder zur Tabelle, zum Brunnen oder zur DataSource her (sie stellt auch eine Verbindung zur TDataSource-Komponente her).

Damit die Daten jedoch bereits im Report enthalten sind, sollen Sie angeben, welche davon in unseren Report aufgenommen werden sollen! Dies ist auch einfach zu tun.

Wählen Sie im FastReport VCL-Designer im Menü Bericht -> Daten.

FastReport VCL

Klicken Sie auf die gewünschten Elemente und klicken Sie auf "OK"!

FastReport VCL

Wir verbinden diese Datenquelle mit dem Band. Wir wählen eine DataSet (Tabelle) in seinen Eigenschaften. Ziehen Sie nun die Tabellen- / Abfragefelder auf die entsprechenden Bänder. Nach einem einzigen Zug haben sie eine Besonderheit, sich automatisch mit den Bandfeldern der Basis zu verbinden.

Wenn Sie den generierten Report anzeigen sollen, können Sie die Vorschau verwenden! Vergessen Sie nicht, dass Sie fast alles hinzufügen können, sei es  QR-Сode, Karten und andere Add-Ons, die in FastReport VCL ausreichen.

Die Vorschau:

Im oberen linken Menü klicken Sie auf "Datei".

FastReport VCL

Eine Liste der Einstellungen wurde sofort angezeigt. Darin wählen wir "Vorschau".

Und das ist alles! Nach dieser Aktion werden wir sehen, wie der fertige Report aussehen wird.

Wenn alles zu Ihnen passt, können Sie den Report drucken, in verschiedene Formate exportieren und auf den Cloud-Speicher oder auf den PC-Speicher speichern.

Wir wählen "Speichern" und das gewünschte Format.

Der ausgewählte Report wird zum Speichern / Exportieren an den angegebenen Speicherort gesendet!

FastReport VCL

Gehen Sie folgendermaßen vor, um einen Report aus Code zu erstellen:

- Löschen Sie den Report.

FastReport VCL

FastReport VCL

FastReport VCL

- Fügen Sie die Datenquelle hinzu.

FastReport VCL

FastReport VCL

- Fügen Sie die Seite "Daten" hinzu.

FastReport VCL

- Fügen Sie eine Reports Seite hinzu.

FastReport VCL

- Fügen Sie der Seiten Bänder hinzu.

FastReport VCL

FastReport VCL

- Band Eigenschaften konfigurieren und mit Daten verbinden

FastReport VCL

- Fügen Sie jedem Band Objekte hinzu.

FastReport VCL

FastReport VCL

- Weiter richten sie die Eigenschaften von Objekten ein und machen Sie eine Verbindung mit den Daten.

FastReport VCL

Speichern Sie die Vorlage und klicken Sie auf "Vorschau"!

FastReport VCL

Der Report ist fertig! Wir können ihn auch zur weiteren Analyse in XML, PDF oder sogar in CSV oder in DBF speichern!

Ich verstehe, dass eine solche Fülle von Screenshots zu Depressionen führen kann. Beim Schreiben dieses Artikels war es jedoch die längste und mühsamste Aufgabe, all diese Screenshots zu machen. Die Erstellung des Reports selbst dauerte ungefähr 5 Minuten. Und wenn er schneller und ohne Screenshots ist?

Wir machen den Report für unsere Datenbank im Code von Delphi / Lazarus!

Wir erstellen einen einfachen Report vom Typ "Liste". Es wird davon ausgegangen, dass wir die Komponenten frxReport1: TfrxReport und frxDBDataSet1: TfrxDBDataSet haben (letzte Variante war mit den Daten aus DBDEMOS verbunden, Tabelle Customer.db). Unser Report enthält eine Seite mit dem Reports Titel und den Stammdatenbändern. Auf dem Reporttitelband befindet sich ein Objekt mit dem Text "Hello FastReport!" Und auf den Stammdaten platziert sich ein Objekt mit einem Link zum Feld "CustNo".

Wir transformieren Daten aus den Datenbanken ins Dokument in Delphi / Lazarus / C++ Builder
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
var
 DataPage: TfrxDataPage;
 Page: TfrxReportPage;
 Band: TfrxBand;
 DataBand: TfrxMasterData;
 Memo: TfrxMemoView;
 
{ Report leeren }
frxReport1.Clear;
 
{Eine Datenquelle in der Liste der für den Report verfügbaren Datenquellen hinzufügen }
frxReport1.DataSets.Add(frxDBDataSet1);
 
{Die Seite „Daten“ hinzufügen }
DataPage := TfrxDataPage.Create(frxReport1);
 
{Die Seite hinzufügen }
Page := TfrxReportPage.Create(frxReport1);
{ Einen einzigen Namen erstellen }
Page.CreateUniqueName;
{ Die Große der Felder, Papier und Orientation by Default bestimmen }
Page.SetDefaults;
{ Die Papier Orientation ändern }
Page.Orientation := poLandscape;
 
{ Report Titel hinzufügen }
Band := TfrxReportTitle.Create(Page);
Band.CreateUniqueName;
{ Es ist reicht fürs Band die Koordinate Top und die Höhe zu bestimmen }
{ Beide Koordinaten – in Pixel }
Band.Top := 0;
Band.Height := 20;
 
{ Das Objekt auf Report Titel hinzufügen }
Memo := TfrxMemoView.Create(Band);
Memo.CreateUniqueName;
Memo.Text := 'Hello FastReport!';
Memo.Height := 20;
{Dieses Objekt hat eine adaptierte Breite, die zur Banden Breite gleich ist }
Memo.Align := baWidth;
 
{ MasterData hinzufügen }
DataBand := TfrxMasterData.Create(Page);
DataBand.CreateUniqueName;
DataBand.DataSet := frxDBDataSet1;
{ Die Top Koordinate soll nicht das früher erstellte Band überqueren! }
DataBand.Top := 100;
DataBand.Height := 20;
 
{ Ein Objekt auf MasterData hinzufügen }
Memo := TfrxMemoView.Create(DataBand);
Memo.CreateUniqueName;
{ Mit den Daten verbinden }
Memo.DataSet := frxDBDataSet1;
Memo.DataField := 'CustNo';
Memo.SetBounds(0, 0, 100, 20);
{ Den Text für den rechten Rand des Objekts anordnen }
Memo.HAlign := haRight;
 
{ Den Report anzeigen }
frxReport1.ShowReport;

Also, wir sammeln jetzt unsichtbare Daten und zeigen sie in den Reporten. Jetzt ist es möglich diese Reporte zu veröffentlichen und den Analytikern zu senden!

20. November 2024

Lokalisierung und Ändern von Sprachen in FastReport VCL

FastReport VCL unterstützt 40 Sprachen für die Schnittstellenlokalisierung und ermöglicht es Ihnen, die Sprache im laufenden Betrieb über Menüs oder Code ohne Neukompilierung zu ändern.
11. Dezember 2023

Neuer S3 (Amazon) Transport in FastReport VCL

In diesem Artikel werden wir uns den neuen Transport in S3 (Amazon) für FastReport VCL ansehen, bei dem es sich um einen Objektspeicher für Dateien und Buckets handelt.
26. September 2023

Installation von FastReport- und FastCube-Komponenten in Lazarus

Anleitung zur Installation von FastReport in Lazarus für verschiedene Betriebssysteme mit einem Vergleich der Trial, Professional-Editionen.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.