SSRS 2008: Clear report contents when new parameter value is chosen - reporting-services

I have an internal SSRS report that can be run against data for different clients. The report has just one parameter "Client" which is a drop-down menu populated by a DataSet which populates from essentially "select distinct Client from ClientStuff" which returns a short list of clients.
The user chooses a Client from the drop-down and hits View Report, report populates with data. Fine. But then, when user chooses a different client, the report contents remain up and showing until "View Report" button is hit.
So here is the question: How do we force report contents to clear out when a new value is chosen for the parameter? Too often, user selects a new client but forgets to hit View Report, thus looking at one client name but seeing data as another. I want a blank screen showing as soon as the user picks a new value for the parameter.
I've searched and searched on this problem, I've set parameter properties to "Always Refresh", I've deleted and re-deployed reports... nothing seems to make it happen.

The parameter properties options to "Always refresh", etc. have to do with cached data, not whether the report will refresh once a new value is selected (which I assumed was the case, too). Unfortunately, according to a few sources I've found (Such as this) indicate that refreshing the full report when changing a parameter value is not possible without user input (i.e. pressing the Apply button/the Enter key).
What I generally do is find somewhere on the report to display the parameter value that's currently chosen, so end-users will see what the report is displaying. Not nearly as good a solution, but that's what I've been stuck with.

Related

How do I create a "Details" button in Microsoft Access?

I'm new to using Microsoft Access, and I'm having trouble restricting a report's output to only the single row I'm interested in.
My organization has a relatively small client list, where a little of their information is used frequently (like their name and account status), and much is used infrequently but still important (like home phone and incident reports).
The way I want to display this information is to have a form that shows a list of our active clients with their most common information, and then has a "Details" button at the end of the client info for when people need to see the rest of that client's information.
So far, I've successfully made a form that links to an "ActiveClients_rpt" report that shows the most common info, and I've made another form that links to a "ClientDetails_rpt" report that shows all the detailed info. My problem is that when I try to restrict the results in the Client Details report by the user input in the Active Clients form, either I have to use a very unaesthetic option (like an ugly combo box that replicates the list of names the user can already see), or (if I try to do something like add a button inside a report) the form sends me the information of every client's detailed info, when I only want the info of the one client.
Is there some way I can use a report (or some other option) to tell Access to only pull information from the row in a list the button is located on? I've tried doing things like making an embedded macro using the OpenForm command to open my ClientDetails_form form with [Forms]![ClientDetails_form]![ID] or [Forms]![ClientDetails_form]![ID]=[Me].[ID] as a Where Condition (where ID is the client's ID #), but everything I've tried has either resulted in an error or not restricted the report like I want it to.
This is pretty complicated without seeing your actual database, but I did a video on something similar that might help here https://youtu.be/nNUjmH72OfI. You basically set a click event in the 'Event' tab of the Properties window while your 'Detail' button is selected (in form design view). You click on the builder button (button with three dots) and either use the Macro Builder or the Code Builder to type out the VBA. The Macro Builder is the simplest way in this case.
That's pretty vague, I admit. But hopefully the video helps.

How to refresh data in SSRS report accessed via ReportServer URL

I have a SSRS report that is accessed by users via the Web Service URL, we do this so we can pass in parameters.
e.g.
https://myserver.fqdn/ReportServer?/MyFolder/MyReport&rc:Toolbar=False&MyParameter=MyString
This works well the first time the report is accessed, but no amount of refreshing the browser will cause the data to refresh. I found I could fix this behavior by adding rs:ClearSession=True to the URL.
https://myserver.fqdn/ReportServer?/MyFolder/MyReport&rs:ClearSession=True&rc:Toolbar=False&myParameter=MyString
However this report also contains a number of Go to report actions. Clicking any of these actions strips the URL of the rs:ClearSession=True and now the reports contain old data.
Is there anyway to prevent the Web Service URL from doing any caching? This does not seem to be an issue when these reports are accessed via the Report Manager URL.
e.g.
https://myserver.fqdn/Reports/Pages/Report.aspx?ItemPath=%2fMyFolder%2fMyReport
You can force the data to refresh by changing the value of a parameter.
You can exploit this by adding a hidden Date/Time parameter to each report. Within the Go to report action, assigning the new parameter a value of =Now() will change the value of this parameter each time the action is clicked.
This works even if you don't use the parameter in your report.

How to prevent rendering of SSRS report through URL access

I'm looking for a way to prevent the rendering of a SSRS report, while accessing it through URL access method.
I have report A, through while I drillthrough to another report (Report B) using URL access method, using a set of parameters.
Now I'm looking to prevent the rendering of report B (while is the default behavior it seems) i.e. as soon as user clicks on relevant field on report A, report B opens up with relevant parameters selected as passed through URL access but without the report being rendered, so as to give end user more flexibility if he/she wants to change the parameters of report B in some way.
I have removed the below code from URL access, however this is the default behavior of the report, so the report renders anyway.
&rs:command=render
Also, tried something like below. Didn't work.
&rs:command=norender
Would appreciate any pointers here, to get this done.
Regards.

Parameters Hidden or not in SSRS

In SSRS, we have parameters and also DataSets in Report Data. I want to know whether or which parameters are hidden or not ( hide if it is any database key field ).
There are a few ways to see parameter settings in SSRS.
You can view them on the SSRS site by clicking on the report
drop down and going to manage then parameters. This has a limited amount of information about the parameters but will show if they are hidden or not.
If you want more information on the parameters open the report in
visual studio. Expand parameters in the report data pane. You should
see a list of your parameters. Just right click on one and click
parameter properties. This will give you everything configured for
that parameter.

Access 2007 can I capture the "clicked" field using an OnClick event on a report?

In Access 2007 I want to be able to click on a name field in a report and call a separate report with personal information about the person who's name was clicked to start the event. This would be as an alternative to creating a subreport or including the subreport fields in the main report in the interest of saving space. How do I reference the value of the clicked field for use in a query called with the OnClick event?
Thanks for your help.
You are kind of blurring the lines between a report and a form there. Could you not change your first report to a form (maybe a continuous one?) and then fire the sub report from that?
If you do want to still go with the report then it might be possible. At a guess it would involve returning the X/Y of where the mouse is and then mapping that to each control to work out which one has been clicked. Have a poke around Steve’s site as I’m sure I have seen him use something like that for a different purpose
http://www.lebans.com/
Use a form and have code behind the field to open a subform with data limited to that field. You may not get all the functionality of a report.
You could prompt the user when the report opens to give them an option to see details. They could select a specific record with an input box to show the details. This would require the user to rerun the report after looking at it in summary mode.
If you could output the report to an html file, you could create hyper-links to additional information.