logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • Articles
  • Customer panel Wsparcie techniczne
    • en
    • de
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Przekształcanie danych z bazy danych w dokument w Delphi / Lazarus / C++ Builder
  • Jak utworzyć jeden raport z wielu w Delphi / Lazarus / C++ Builder

    11 grudnia 2020

    Chciałbym zauważyć, że FastReport VCL jest jednym z najwygodniejszych komponentów do generowania raportów o dowolnej

    read more
  • Tworzenie kodu kreskowego CODE 39 i rozszerzonego CODE 39 w środowisku Delphi / Lazarus

    23 października 2020

    CODE 39 jest kodem kreskowym opracowanym przez Intermec Corporation w 1975 roku. Kod kreskowy może

    read more
  • W jaki sposób generować kod kreskowy ITF (przeplatany, przemysłowy, macierzowy) w środowisku Delphi / Lazarus / C ++ Builder

    11 listopada 2020

    Trochę teorii dotyczącej kodów kreskowych Trudno wyobrazić sobie dzisiaj nasze życie bez kodów kreskowych, szczególnie teraz,

    read more
  • Jak utworzyć plik ZPL w Delphi / C ++ Builder / Lazarus

    22 grudnia 2020

    Co to jest plik ZPL? ZPL to skrót od Zebra Programming Language. Umożliwia on zespołowi tworzenie

    read more
  • Raporty internetowe w Lazarusie na Linuksie

    15 grudnia 2020

    Do niedawna zadanie generowania raportów przez WWW z aplikacji napisanej w Lazarusie było, powiedzmy, bardzo

    read more

Przekształcanie danych z bazy danych w dokument w Delphi / Lazarus / C++ Builder

3 lutego 2021

Jak z gąszczu danych zrobić czytelny raport?

Oracle DB, MySQL, Microsoft SQL Server, PostgreSQL, FireBird to prawdopodobnie najbardziej popularne, ale bynajmniej nie wszystkie, z wielu DBMS, w których dane mogą być tworzone, wypełniane, modyfikowane i zarządzane.OracleMySQL

Microsoft SQL Server

Często są one wypełnione tymi samymi danymi przez dość długi czas (np. w systemach ewidencji czasu pracy, zamówień towarów, a pytanie "jak wydobyć z nich informacje?" (czytelną, możliwą do ogarnięcia wzrokiem i ludzkim umysłem, do dalszej analizy) odkłada się na później. Zastanówmy się, co zrobić "potem" - gdy mamy już "pełną bazę danych", a my (lub zarząd firmy) zastanawialiśmy się, "co się właściwie dzieje? Wykorzystajmy efektywnie dane, które zbieramy w procesie, wyciągnijmy z nich informacje i na ich podstawie podejmijmy decyzje! ". To jest właśnie definicja Business Intelligence (BI) mówiąc prościej.

Istnieje wiele możliwości ich tworzenia (raportów), ale tutaj zajmiemy się FastReport VCL. Jest tam projektant do generowania szablonów, podgląd i wiele innych funkcji do wykonywania zadań na różnych poziomach - przyglądaliśmy się im w innych artykułach, ale wciąż nie przyjrzeliśmy się im wszystkim.

FastReport może pracować z kilkoma źródłami danych (bazami danych) jednocześnie, lub pobierać je z tzw. źródeł użytkownika (nie baz danych) - tablic lub zwykłych plików.

Jak uzyskać informacje z DB w Delphi?

W celu podłączenia źródła danych należy z palety komponentów zastosować konektor (TfrxDBDataSet). Jest to połączenie pomiędzy danymi a FastReportem.

Teraz opowiem krótko o roli komponentów:

TfrxDBDataSet jest elementem służącym do pracy ze źródłem danych, jest również kompatybilny z TDataSet, ale TfrxIBODataSet jest stosowany dla obiektów IB, również TfrxUserDataSet jest stosowany dla innych zasobów - tablic, plików, itp.

Przede wszystkim, używając właściwości DataSet, połącz się z samym zapytaniem lub tabelą, lub DataSource (łączy się z komponentem TDataSource).

Aby dane były już w raporcie, należy określić, które z nich mają trafić do naszego raportu! To również jest proste do zrobienia.

Wybierz w projekcie FastReport VCL w menu Raport -> Dane.

FastReport VCL

Zaznacz niezbędne elementy i kliknij "OK"! 

FastReport VCL

Podłącz to źródło danych do zespołu. Wybierz DataSet (tabela) w jego właściwościach. Teraz przeciągnij i puść pola tabeli/zapytania do odpowiednich pasm. Po jednokrotnym przeciągnięciu ma osobliwość automatycznego łączenia na bandzie - pola bazy.

Jeśli potrzebujesz zobaczyć wygenerowany raport, możesz użyć podgląd! Nie zapomnij, że możesz dodać prawie wszystko, czy to QR kody, mapy i inne dodatki, których jest wystarczająco w FastReport VCL.

Podgląd:

W lewym górnym rogu wybierz "Plik".

FastReport VCL

Natychmiast pojawi się lista ustawień. Wybierz na niej opcję "Podgląd".

To wszystko! Po tej czynności zobaczysz, jak będzie wyglądał gotowy raport.

FastReport VCL

Jeśli jesteś zadowolony z wyniku, możesz zapisać plik do różnych formatów i eksportować do pamięci w chmurze lub na komputerze, a także wydrukować.

Wybierz "Zapisz" i odpowiedni format.

Wybrany zostanie wysłany do określonej lokalizacji w celu zapisania/wyeksportowania!

FastReport VCL

Aby wygenerować raport z kodu należy, wykonać następujące kroki :
- Wyczyść raport.

FastReport VCL

FastReport VCL

FastReport VCL

- dodaj źródło danych.

FastReport VCL

FastReport VCL

- dodaj stronę “Data” 

FastReport VCL

- dodaj stronę raportu.FastReport VCL

- dodaj pasma na stronie.

FastReport VCL

FastReport VCL

- ustaw właściwości pasma i połącz je z danymi.

FastReport VCL

- dodaj obiekty na każdym paśmie.FastReport VCL

FastReport VCL

- ustaw właściwości obiektu i połącz je z danymi.

FastReport VCL

Zapisz szablon i naciśnij “Preview”! 

FastReport VCL

Raport został wykonany! Możemy zapisać go w formacie XML, PDF, a nawet CSV lub DBF w celu dalszej analizy!

Rozumiem, że taka ilość zrzutów ekranu może nawet zniechęcić. Ale przy pisaniu tego artykułu zrobienie tych wszystkich zrzutów ekranu było najdłuższym i najbardziej czasochłonnym zadaniem. Samo przygotowanie samego raportu zajęło około 5 minut. A gdyby tak szybciej i bez zrzutów ekranu?

Stwórz raport z naszej bazy danych z Delphi / Lazarus - kodu!

Przeanalizujmy stworzenie prostego raportu typu "lista". Załóżmy, że mamy komponenty frxReport1: TfrxReport i frxDBDataSet1: TfrxDBDataSet (ten ostatni jest podłączony do danych z DBDEMOS, tabela Customer.db). Nasz raport będzie zawierał jedną stronę z tytułem raportu i źródło głównych  danych. W pasku tytułu raportu będzie znajdował się obiekt z tekstem "Witaj FastReport!" a w danych głównych będzie znajdował się obiekt z odniesieniem do pola "CustNo".

Zamień dane bazy danych w dokument w 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;
 
{ Clear the report }
frxReport1.Clear;
 
{ add data source to the available list for the report }
frxReport1.DataSets.Add(frxDBDataSet1);
 
{ add “data” page }
DataPage := TfrxDataPage.Create(frxReport1);
 
{ add page }
Page := TfrxReportPage.Create(frxReport1);
{ create unique name }
Page.CreateUniqueName;
{ set page properties by default }
Page.SetDefaults;
{ change page orientation }
Page.Orientation := poLandscape;
 
{ add report title }
Band := TfrxReportTitle.Create(Page);
Band.CreateUniqueName;
{ it’e enough for a band to set coordinate Top and hight }
{ both coordinates are in pixels }
Band.Top := 0;
Band.Height := 20;
 
{ add object on report title }
Memo := TfrxMemoView.Create(Band);
Memo.CreateUniqueName;
Memo.Text := 'Hello FastReport!';
Memo.Height := 20;
{ this object will be aligned with the band width }
Memo.Align := baWidth;
 
{ add master data }
DataBand := TfrxMasterData.Create(Page);
DataBand.CreateUniqueName;
DataBand.DataSet := frxDBDataSet1;
{ coordinate Top shouldn’t cross the previous band! }
DataBand.Top := 100;
DataBand.Height := 20;
 
{ add object on master data }
Memo := TfrxMemoView.Create(DataBand);
Memo.CreateUniqueName;
{ connect to data }
Memo.DataSet := frxDBDataSet1;
Memo.DataField := 'CustNo';
Memo.SetBounds(0, 0, 100, 20);
{ align text on the right side of the object }
Memo.HAlign := haRight;
 
{ show the report }
frxReport1.ShowReport;

Podsumowując - nauczyliśmy się jak zamieniać niewidoczne, ale uporządkowane dane w raporty - dokumenty. Teraz możesz je opublikować lub przekazać analitykom!

about product pobierz zamów
avatar
Michael Philippenko
VP
Fast Reports Team: Michae Philippenko - VP at Fast Reports
VCL Lazarus FastReport 6 OracleDB Delphi

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Extended licensing
  • Kontakty

© 1998-2022 by Fast Reports Inc.

  • Poufność