Combining two reports to one in Access 2013 - ms-access

I've two reports in my DB that I want to combine. Both these reports have various fields populated from preceding steps and a hyperlink that opens a form for further processing. The form auto-populates some of the fields using the data from the report with
=[Reports].[MyReport].[LineItemID]
I'm using a 3rd unbound form to put the 2 reports on a single screen (using simple drag and drop). The hyperlinks on both the reports don't read data from respective reports anymore. I tried using
=[Reports].[MyReport1].[LineItemID] to read from individual reports and also
=[Reports].[CombinedReport].[LineItemID] to read from the combined report but doesn't seem to be working.
Any pointers on this would be very helpful.
Thanks,

When you placed the two reports into the unbound report, you also created a control of type subform/subreport for each in the unbound report.
This you have to respect in your reference. You will have to check and use the names of these controls.
So if the control for the first report would have been named MySubControl1 this is your full reference:
=[Reports].[MyReport1].[MySubControl1].[Report].[LineItemID]
The extra .[Report] is included because you now also need to explicitly reference the content of the control (which in this case is a report) to actually have a reference to your embedded report object, and be able to reference the required LineItemID control within it.

Related

Don't produce report if there is no data - PDF

I have a report for which there is sometimes no data to output. This report is run along with several other reports and all are then output to PDF. However, this report still produces the header and footer with a blank page even tho there is no data.
I can move the header and footer into the report and have tried to hide those elements with =if(rownumber("PersonalProfile")=0, True, False) in the Hidden property of those elements. It hides everything so now the page is blank, but it will will output a blank PDF. Is there a way to completely suppress the report?
I'm using 2008 and I don't see a Report Visibility property. All the data for the report is inside a single Tablix which is inside a rectangle.
There are 3 datasets: PersonalProfile which contains the meat of the data; BoardNames which just produces the name of the board for the report; BoardMeetings which allows the user to pick a date parameter.
If you are distributing your report using subscriptions and you have Enterprise Edition, then you can look at using Data Driven Subscriptions which will give you control over how and when reports are distributed based on whatever logic you need. Otherwise, there is no way to do what you are asking - as trubs says, Reporting Services must first render the report before it has any knowledge of whether there is any data to display.
You haven't explained how you are "running the reports" (e.g. manually in Report Manager, report subscription, third party app using URL access) - if you do perhaps someone can suggest a workaround.
There is no way to do what you want. ssrs has to produce the report in order to determine there is nothing to display.

How to export SSRS report having linked reports in to excel

I have a main report main.rdl and 2 linked reports like linked1.rdl and linked2.rdl as a drill through report from the main report.
I have deployed all the reports under one folder in the report server.when i view the main report its working fine and drilling through the linked reports. but my question is how can i export to excel which contains main report as well as linked reports as separate tabs in the same excel?
thanks in advance.
The easiest way to do this would be to put a rectangle on your page and then add your linked report as a subreport inside the rectangle.
then hide the subreports unless exporting to excel by setting the visibility property on the rectangle to
=Globals!RenderFormat.Name<>"EXCEL"
or for ssrs2012
=Globals!RenderFormat.Name<>"EXCELOPENXML"
There are a few problems with this approach. (but these can be solved)
Headers and footers are not shown in sub-report
Performance. The sub reports will run each time you view the main report
the above assumes the drill through reports are only executed with a single set of parameters
imho SSRS is a presentation tool, Excel is also a presentation tool (in this case) so your chaining your presentation tools.
Why don't you call from excel your reports data source and drop it into each tab for each report..main sub whatever.
As your reports should be bound to a named data source (SQL\ view\ sp) for the report you would be calling that.
You can add your main report ....but you cannot add the 2 linked reports, they would show all records. So if you then make your linked reports, reports like main this would then work ie feeding them the key filter field...the children records for linked reports would filter and give you sub tab report you need.
If you cant do this then you have to rethink whole approach... if it was me I would code it so I got all three sets of data and then populated Excel with each tab...save n email spreadsheet

SSRS Adding text box that accepts input for printing

Using Business Intelligence Development Studio, I am creating a report for SSRS that requires the user to add a few notes before being printed. The notes do not need to be sent back to the SQL Server that the report is being generated from, they just need to be included when the report is printed or exported. I have some other solutions including:
Exporting to Word for edit, then the user can manually publish to pdf & send
Including parameters for the note fields which involves pulling the report, then adding in the notes and lastly re-pulling the report again to include the data
But I really don't want to add the extra steps to the user's process unless necessary. Has anyone tried this before? I've been tinkering and searching and have had no luck.
Thanks in advance.
Input to an SSRS report comes from data sources and the parameters. Some server settings are applied, but all the per-report stuff is from either of those two places.
Based on the OP comment, I would add a text parameter that allows blank values. You can set a default value of ="" so that the report will run on first access. Then any text the users adds can be inserted into the report simply by referring to the parameter's value.(=Parameters!MyParam1.Value)
user is pulling the report first to analyze the data. So they would pull it once, then add the notes, and then pull the report again with the parameters added.

MS Access: Reports referencing other reports

I have several MS Access 2010 Reports that contain controls that reference other controls on other Reports. So, for example, if report1 has a text box called report1_textBox, and this text box gets its value from a text box on report0 called report0_textBox, then I set the Control Source property of report1_textBox to:
= [Reports]![report0]![report0_textBox]
I created a Form that the user can use to select Reports to open, and when the user selects a Report that depends on other Reports, my code opens those Reports before opening the selected Report. This works fine in some instances, but in other instances I get some strange behavior.
Going back to the example above, I encounter situations where even if I open report0, then open report1, the text box report1_textBox displays #Error as if report0 is closed or does not exist. But if I then just click on report0 and change its view then change it back, then go back to report1 and scroll a little, the text box report1_textBox "magically" changes from #Error to the proper value. I tried hitting the "Refresh All" button after opening the reports, and it does not update the text box.
Does anyone know of a way to fix this or at least work around it?
Thank you!
(Adding: Ideally, I do not want to open multiple reports like I'm doing now. If the user wants to view a report, I would like to only open that report, but from what I understand, if the selected report needs data from another report, that other report needs to be open. I can ultimately solve this by writing VBA code to execute queries, but I would like to avoid this, especially since I already have the data I need - it's just on another report. Does anyone know if it is possible to realize this ideal situation? Thanks!)
I would suggest going with VBA code for this.
Your question, actually, contains an answer (partial) - if you need data from another report that report must be opened first. However, the following code might help you somewhat.
You can open report(s) as hidden:
...
DoCmd.OpenReport "report0", acViewReport, , , acHidden
...
But again, I would recommend to write VBA code to pull the data using either existing queries from other reports or create new ones [queries].

ReportViewer Web Control and Dynamic Connection Strings

So I have a report in Reporting Services 2005. In it is one parameter (ConnectionString) which determines which data source the report will use. It also has several other parameters which are dropdown lists derived from the data source chosen in the ConnectionString parameter.
In Report Manager, this works great. All of the dropdowns are greyed out at the beginning. When you choose your data source, the page requeries/repaints and all of the available parameter values for the other parameters are filled in based on the queries for those fields.
However ...
In the ReportViewer web control, when the report is first loaded up, instead of dropdown boxes all of the other parameter fields are just empty textboxes. Choosing a different data source for the ConnectionString parameter doesn't requery/repaint the other parameters.
I've been flipping through the ReportViewer programming reference to see if there's some way to replicate the Report Manager's way of reloading the webpage with the report viewer upon certain parameter changes, but I can't find anything there that isn't over my poor little .NET head.
Any ideas?
Not sure if this is any help but I do have a suggestion. I would try pulling the logic for dropdown boxes out of the report and put them in an ASP.net page. Then pass the parameters to the report and control the rendering/refreshing.
HTH
UPDATE: So it turns out you must provide a default value for any parameters which in turn affect other parameters in your report in order to get the dropdown box to load properly on initialization. Also note this is recursive - so if you have a parameter which affects another parameter which affects another parameter, both the first and second parameter must have default values.