Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
Packages and Libraries
»
LazReport
»
LazReport help
Free Pascal
Website
Downloads
Wiki
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Bugtracker
CCR Bugs
IRC channel
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Question about RPI_HAL CP...
by
pascalbythree
[
Today
at 04:01:15 pm]
Illegal type conversion s...
by
Fred vS
[
Today
at 03:38:15 pm]
Feature announcement: Fun...
by
PascalDragon
[
Today
at 03:19:01 pm]
MOVED: was the book "laza...
by
trev
[
Today
at 02:31:19 pm]
Problems with Crt and Dos...
by
pleumann
[
Today
at 01:51:02 pm]
RP2040 with Picoprobe and...
by
MarkMLl
[
Today
at 01:08:00 pm]
Problem saving new projec...
by
rvk
[
Today
at 01:00:40 pm]
TListView and OwnerData
by
dbannon
[
Today
at 12:42:01 pm]
RISCV32 Embedded -> Addin...
by
kupferstecher
[
Today
at 12:34:15 pm]
How to determine Unicode ...
by
Manlio
[
Today
at 12:13:43 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: LazReport help (Read 4492 times)
SteenJorgensen
Jr. Member
Posts: 66
LazReport help
«
on:
August 01, 2021, 11:14:38 am »
I need to be able to make a report that sums up a field (Value) based on a unique field (Name). This should be done in Scrips with an array of variables.
SQL text is simple from the application as it must be used for many other purposes "Select * from MyTable where id ="2"
Database (MyTable) values:
ID Name Value
2 Anders J 4
2 Tove H 2
2 Tove H 4
2 Anders J 8
2 Anders S 3
3 Anders S 3
4 Anders J 8
Dataset have 5 rows because of id=2 and final result should be 3 lines because the unique Name:
Anders J 12
Tove H 6
Anders S 3
I have done this before many years ago for a customer but can no longer find this nor documentation for LazReport.
Thinking I'm need to create a array of variabler of all different name and for every row sum up???
Any hint? I will by so pleased.
«
Last Edit: August 01, 2021, 11:25:40 am by SteenJorgensen
»
Logged
----------------------------------------
Lazarus version 2.0.12 64-bit
FPC 3.2.0
korba812
Sr. Member
Posts: 274
Re: LazReport help
«
Reply #1 on:
August 01, 2021, 12:19:18 pm »
This can be achieved in many ways. The easiest way to do this is to use "sum" and "group by" in your SQL query:
Code: SQL
[Select]
[+]
[-]
SELECT
Id
,
Name
,
SUM
(
VALUE
)
FROM
MyTable
WHERE
Id
=
"2"
GROUP
BY
Id
,
Name
«
Last Edit: August 01, 2021, 12:22:21 pm by korba812
»
Logged
SteenJorgensen
Jr. Member
Posts: 66
Re: LazReport help
«
Reply #2 on:
August 01, 2021, 02:11:24 pm »
Thanks for your answer.
But i have a const sql query named "select * from MyTable where....." So the customer can make new report in the furture without make changes in application.
So it must be programed in the script function in the report.
Logged
----------------------------------------
Lazarus version 2.0.12 64-bit
FPC 3.2.0
korba812
Sr. Member
Posts: 274
Re: LazReport help
«
Reply #3 on:
August 01, 2021, 04:16:38 pm »
Another way would be to use group band, but then you have to provide sorted data according to the group key.
Logged
SteenJorgensen
Jr. Member
Posts: 66
Re: LazReport help
«
Reply #4 on:
August 02, 2021, 10:23:36 am »
WOW.... Thanks, just what i need.
Now all works. I must find the documentations for LazReport, there are so many functions i dont know.
Logged
----------------------------------------
Lazarus version 2.0.12 64-bit
FPC 3.2.0
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
Packages and Libraries
»
LazReport
»
LazReport help
TinyPortal
© 2005-2018