MS Access: Reports referencing other reports - ms-access

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].

Related

Keep parameter value when coming back from subreport

I have several multiple choice parametres that do not have default value. There is also link to other report. And parent report parametres are empty when coming back from drill through report. Is it possible to keep selected parameter values?
The parameter keeps selected values if it has default value initially. But I would like keep parametres empty on load
If you have an action to open a drill thru report, to get back to the parent report, you must use the 'Go back to parent report' button on the reports toolbar, NOT the browser back button.
This also means the parent report does not get re-rendered so it's instant.
This has been available since SSRS2008 as far as I know. Here's what it looked like back in 2012..
Note: this only works if you have used the "Go to Report" action
It won;t work if you used the go to URL option.
Alternative approach if using Go To URL
Basically you make sure you send all the parameters to the sub report even if they are not used. You could hide the unused ones.
Then add a button to your sub report that simply opens the parent report again and passes all the parameters back.
This is not ideal as the report will have to be rendered again, which is a pain if it's a slow report.
Another option is to open the sub report in a new tab (lots of examples on SO on doing this) so you can just close the tab.

First page of SSRS report not rendering on initial load

I've created an SSRS report in Report Builder 3 which contains a single-rowed Tablix that holds a sub report which produces a single report per page. The problem is that when I run the report it doesn't render the first page.
Within Report Builder I can never get this first page to display within the executed report and within the web forms ReportViewer control (v10.0.0.0) I can get this first page to appear when I page away and then back to it. Exporting the report also displays all of the correct data.
This issue has only started occurring since I made some slight changes to the layout of the sub report. I've checked the visibility on the tablix, group, row, sub report and all the other settings that I thought might be responsible, but they haven't changed since it was previously working.
I've also tried recreating both the tablix and the entire outer report based on an answer to a similar question and this didn't make a difference.
Any help with this issue would be much appreciated.
I was passing the data for my sub reports through as parameters to prevent the need to call 5000+ single line select statements, and it looks like they need a data set to execute to render correctly on the initial load. Previously, I had mistakenly left a data set within the report, which I must have removed when making the layout changes.
Creating a dummy data set with SELECT ' ' AS Dummy and then using that to populate a text box seemingly fixed the issue. It's not a clean solution but it works.

SSRS Dataset Field Refresh not updating for Tablix

I have updated the SP for the attached dataset that the tablix is using. The refresh worked fine and I can see my new fields in the shared data set when I look in the Fields tab. My problem is the tablix itself is not giving me access to the new fields. There is a disconnect somewhere and I cannot figure out hot to get the tablix to see the updated fields available in the dataset. I run into this problem frequently and hope I can get a good answer here to return to in the future as I am sure I will need to. I have googled and looked through the suggested questions here and I cannot find one that is directly related to this issue.
I will also know note that the report project is in TFS source control as I read that has some adverse side affects. I have marked the whole project for edit and also went to the folder structure and made sure everything was unset to read only.
I am using SSRS 2008 in VS 2010.
Just found it... I don't understand the need for hidden menus like this..
Click the report itself, then go up to View on the menu and at the very bottom there is "Report Data". From here you can select your dataset and go to its properties and refresh the reports attached dataset's fields. What a pain in the butt.
Here is a link that helps better explain it.
http://blog.dontpaniclabs.com/post/2012/01/26/Developings-Reports-for-SQL-Server-Reporting-Services
You can also delete the .data file if you still can't get it to refresh.
Go into the file folder where the .rdl file exists
Next to it, there should be a file with the same name with the
.rdl.data extensions. Delete this file.
It appears to force the refresh probably because it has to recreate the file.
Here's a less invasive way but may not always work:
In the Report Data windown, right click on you dataset and click
Dataset Properties like so:
Click Refresh Fields near the bottom right of the Dataset Properties
window:
After changing the Stored Procedure code, without changing the name and number of fields returned, I could only get the report to seemingly call the new format of the stored procedure by clicking the Refresh button in the report's Preview tab.
Go into your solution folder, where the rdl's are stored and delete .rdl.data file for your report.
Next time you'll run the report, new rdl.data file will be created and it will have all the new fields from the updated SP.
ok, this maybe an older thread, but I kept running into the same problem on occasion. The absolutely easiest way to fix this is adding the following line of code to the beginning of the stored procedure that produces your dataset for the report:
SET FMTONLY OFF;
Happy coding :)
I ran into a very similar issue:
Added a new field to an existing SQL table function
(With some difficulty) added the new field to the existing dataset in SSRS
Spent some time unsuccessfully trying to add the new fields to the table (tablix?) in design mode.
This didn't work for me so eventually I opened the particular report file [filename].rdl in a text editor and surprise surprise it was XML. It was easy enough to add the missing field manually, and visual studio then prompted me to refresh the report.
<DataSets>
<DataSet Name="DataSet1">
...
<Fields>
<!-- add new field at this level -->
<Field Name="[newfield]">
<DataField>Email</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
</DataSets>
I am having exact same issue in VS 2012. The stored procedure used as a query will not allow to refresh fields. When the button is pressed nothing happens.
The only solution I found is to flip the Query Type to Text and provide the parameter values on the exec call to the SP.
Why do we have to put up with these obvious show stopper bugs?
Had the same issue and I was able to resolve it by renaming my dataset in properties, creating a new dataset with the original name, and then hitting the refresh button.
Old thread, but I ran into this using VS 2015 and SSMS 2016. I was certain it was an issue with VS. When I went back to SSMS and tried executing my stored procedure, however, I found that passing certain parameter values would cause the query to fail. Interestingly, I was able to ALTER the stored procedure without encountering any errors. (Perhaps because some combinations of parameters wouldn't result in a failure?)
Anyways, at the end of the day it was faulty coding in my sproc that was causing the fields in SSRS not to refresh. When I went back and corrected the issues with my code, everything worked as expected in VS.
I am working in Visual Studio 2015 and none of the above answers worked for me. If you are getting the data from a stored procedure, you need to open the .xsd file and right click on the data model. Select Configure, and the correct values from the procedure should appear on the right of the window.
Then refresh your dataset from the Report Data tab.
I had the same issue.
I installed SP1 so that .rdl.data file would get generated which inturn also fixed the data refresh issue.
Reference: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/e2b199df-bc1b-4211-9110-85a0c63454b8/why-does-ssrs-not-create-a-rdldata-file-when-previewing-a-report?forum=sqlreportingservices
I was trying to use an ODBC driver for the datasource that connected ok, but wouldn't show Fields in VS 2015 SSRS report. I went back and used a datasource based on SQL Server driver (it's in the choices when designing a datasource) and it worked perfectly.
I had this same issue but the cause was different from the other answers at the time of this writing.
In my case, the stored procedure used as the data source was returning multiple data sets (due to some debugging code that I had left in there).
SSRS was "seeing" the fields in the first dataset, whereas I was expecting it to see the fields in the second dataset.
Removing the extraneous datasets fixed the issue and SSRS was able to see the fields that I intended.
Clearing reportviewer's datasources works for me.
this.(reportviewername).LocalReport.DataSources.Clear();
Open the Visual Studio 2008 reports solution
Open (double click) your report (.rpt file) on left pane
Press Ctrl + Alt + D to open the Report Data panel
Expand the DataSets folder
Find the report's main data set and right click the "DataSet Properties" menu
Click the "Refresh Fields" button on the popup window.
Deleting .data no work for me. Deleting Dataset and adding again worked. And I had previously configured VS/SSRS to NOT cache.
refresh and deleting .data did not work for me. So I just manually added the fields.

Shared dataset appears for selection even after deleting from report server report builder3.0

I created a Shared Dataset in report builder 3.0 a week ago and stored in my "My Reports" folder on report server.I removed it the other day; however, when I go to create a new Dataset today...it's still listed as an option. When you attempt to select it from the list you receive an error message that it's no longer available. Below is the error which I am getting :
"The shared dataset cannot be loaded from the server".
Please help if anyone has faced a similar issue and know the reason for it. Thanks in Advance !!!
Ren is more or less correct, Report Builder is caching a list of items you've recently used. It does not bother to check if the items it's caching actually exist or not, which is why you're getting the error you do when you try to use one.
To clear the list, click the big icon in the top left (or alt + F), then click the Options button at the bottom of the dialog that appears.
In the options window you can clear your recent item lists, along with change some of the rules for how those are kept.
I don't believe there's any way to make Report Builder automatically remove broken/missing references

Set parameter back to default value in SSRS

Is there a way that a parameter value can be reset to it's default once the 'view report' button has been pressed.
I have a report with a free text input parameter that inserts users comments into a sub report contained within this report. They add their notes then hit view report, this re runs the report with their notes visible. The only problem is that the parameter box still contains the note they added previously - I've set the parameter to have a default value of ' ' which works the first time it's loaded but not once any text has been added.
I've added a 'clear comment' text box with an action of 'go to report' which simply loads the same report and clears it, but I was hoping there was something I could do that was little bit smoother.
Thanks
A straight up answer to your question would be (AFAIK) that this isn't (easily) possible.
On a related note, I think you'll have a hard time smoothening your current setup, because reports aren't designed for this task; you seem to be trying to use the report as a web form and as a report at the same time.
I would suggest a different approach to your task. You don't mention how you currently deliver the report, but a setup with for example an asp.net web page containing some input fields, a custom "view report" button (that makes sure the input lands in the report, possibly via the database) and a ReportViewer control, may work a lot better.