Forum > LazReport

LazReport help

(1/1)

SteenJorgensen:
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.

korba812:
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  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---SELECT Id, Name, SUM(VALUE) FROM MyTable WHERE Id="2" GROUP BY Id, Name 

SteenJorgensen:
Thanks for your answer.  :D

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.

korba812:
Another way would be to use group band, but then you have to provide sorted data according to the group key.

SteenJorgensen:
WOW.... Thanks, just what i need.

Now all works. I must find the documentations for LazReport, there are so many functions i dont know.

Navigation

[0] Message Index

Go to full version