Insert page number in Crystal Report - crystal-reports

I'm building a Crystal report. I want to insert a page number for each page.
So, I have insert page number then in every page of my report, I can see
1
2
3
4
but now I want to insert this numeration:
1 of 4
2 of 4
3 of 4
4 of 4
How ca I do this?

In the field-explorer there are special-fields.
Take the pre-defined field called "Page N of M".
Alternatively you can create a formula with the following content:
ToText(PageNumber,0) & " of " & ToText(TotalPageCount,0)
(The 0 in the ToText-function removes the decimals from the page number.)

Crystal Reports provide inbuilt field to add page numbers.
Crystal Reports XI and Later:
Go to View -> Field Explorer
Expand on Special Fields
Locate the Page Number or Page N of M field and drag the field into the report
Crystal Reports 8.5:
Go to Insert -> Field Object
Expand on Special Fields
Locate the Page Number or Page N of M field and drag the field into the report

Related

how to count row in crystal report

I've got data as picture below, i'm using crystal report to display statistic report from that data.
i want to count MRN which got 2 until 5 rows of episode number only.
currently im doing
1) group MRN in crystal report and count(episode number).
2) create 1 formula like :
if count(episode number) >=2 and count(episode number)<=5 then count(episode number)"
3) put the formula to report and try to insert summary to count that formula, but no selection summary appear for that formula.
Can you give me an idea how to count MRN with 2 until 5 episode only? refer to picture for clear explanation
In Crystal you can use two condition types to sort which records are being showed:
Record selection formula
Group selection formula
Both are located in the menu Report > Selection formulas
In your case you can define a group on field MRN and create a Count field inside that group. To show only groups where the count is between 2 and 5, use the Selection Formula > Group condition in the Report menu.
Count ({EpisodeNo},{MRN}) <=5 and Count ({EpisodeNo},{MRN})>=2

Conditional Printing for Front and Back page

I'm using iReport 5.2.0 and I have 2 reports that I want to print.
Both reports contain dynamic data and can be of multiple pages. However, number of pages of first report is always equal to number of pages in second report.
In my current setup, the first report is always printed completely and then all the pages of the second report are printed.
However, my requirement is that the report should print in the following sequence:
Page 1 of Report 1.
Page 1 of Report 2.
Page 2 of Report 1.
Page 2 of Report 2.
Page 3 of Report 1.
Page 3 of Report 2.
...
Is there any way I could achieve this with JasperReports?
Lets say , report 1 uses X query with X_SQL and report 2 uses Y query with Y_SQL.
If both of the query has same number of column then it is great otherwise add additional column with respect to X_SQL and Y_SQL in order to union both query.
Remember you have to generate one number series column and one dummy column in your sql. You can generate number series dynamically in your sql.
X_SQL with two new column (number_series,'detail1'as dummy)
union
Y_SQL with two new column (number_series,'detail2'as dummy)
order by number_series, dummy
OUTPUT of SQL:
X_SQL column , 1 as number_series, 'detail1' as dummy
Y_SQL column , 1 as number_series, 'detail2' as dummy
X_SQL column , 2 as number_series, 'detail1' as dummy
Y_SQL column , 2 as number_series, 'detail2' as dummy
Now add two detail band in your new report. Height of report is only one detail band height + top and bottom padding.
1 detail band = first report design
2 detail band = second report design
U can use subreport if your jrxml is too complex.
Now in print when expression of detail band use
detail band 1 : $F{dummy}.equals('detail1')
detail band 2 : $F{dummy}.equals('detail2')
Note:
1) you need to order by in your sql query.
2) height of report need to choose properly.
If still you are having issue then i suggest to post your jrxml.

JasperReports & iReport: Generate a Message or Popup if report of hyperlink is empty

I created a few reports in iReport which are linked together. I have one main report which contains three links to other reports.
Through the database structure it is possible that the linked report is empty.
For example:
report1 contains a links to report2. the parameter is number 1.
report1 has dataset 1.
report 2 has dataset 2. dataset 2 has no entries for number 1.
If you use report 1 it shows the link to report 2, but if you click on the link of report 2, you get the message that it is empty.
Is there a possibilty to generate a pop up which says, the report has no data but the user stays on report 1?
OR
Is there a possibility, that the link to report 2 is no link, if the report is empty?
This is an hypothesis...
You could use a sub-report to render the link to your report 2.
In your sub-report you will count how many rows are in your report 2. If row count > 0 sub-report will show the link, otherwise will be an empty (sub)report.
Take a try.

Dynamic vertical lines in Crystal Reports 10.5

Crystal Reports Ver 10.5
I have a crystal report which shows up to 9 fields, but user can choose between 1 to 9 fields. I have implemented this using check boxes on a form and user can select any box from 1 to 9 and generate a report. So the report can show from 1 field to 9, and any columns can be any field at a given time. (for eg. the user might select ID, Name, Phone from the form and view report. So the first column in the report becomes ID and so on. If he selected Name and Phone, the first column becomes Name and so on. I have done this using Parameter fields.
Now I would like to bring a vertical separation between columns and Only if the columns has data (Remember there can be 1 to 9 columns having data). I can't put the lines beforehand because they will be shown regardless of the number of fields shown.
Anybody has an idea of how to bring this vertical line between ?
Thanks in advance.

Addid Static Report Titile on Crystal Report

i have faced some problem , when i want to display some static Title after i have displayed a few number of Rows . for Example , the first 4 rouws on crystal Report has header"Training " the next 4 rows mmust have "Education " Report Header.
i am trying to display the report using by calling one Stored Procedures any one who can help me please??
You could insert a new detail section above your current detail section and have the new section only be visible based on record count or some value in the data. Add a new section in the details, Format Section->Suppress and enter a formula controlling when the new section is visible. For example, a running total field named InspIDCount and this formula in the suppress section ({#InspIDCount} mod 5 <> 0) will cause a blank row every 5 records. The new section could contain a formula to display the correct "title".
I think I misunderstood your question. The number of rows for each type is probably not constant. A better way to handle this would the to insert a group into your report if the data is not already grouped. Group by the record type (Education, Training Etc). You probably want to suppress the group header but show group by footer. The footer could display a field from the database showing the type or it could display a formula (string) based on the record type. It would only take a few minutes to give this a try.