MS Access Reports - ms-access

I have a database of meetings. I can generate a report that sorts the actions by meeting but I would like to generate a separate report for each meeting. Any thoughts?

You can write a Query in Access with a 'Where' clause that's set to something like [Enter the meeting number]. When running this query, Access will prompt for user input. Then you can set a report's data source to that query, so when running the report, Access will prompt for a meeting number (ID).
Alternatively, you could create a form with some sort of selection interface for the user to pick a meeting, dynamincally update the query, and run the report.
The first approach is easier, the second approach is more usable.

If you want to report on all the meetings in one run, but get a separate report for each meeting you could add a grouping header on the Meeting and set that section of the report to do a page break before the that section.

Related

Can a report be built in Access where users select the fields they want then create said report?

I have an Access database which I have restricted for end users as I do not want them interfering with tables, queries and the like.
Is it possible to develop a tool so that users can select the fields they want to include in a report and then produce said report themselves?
Effectively, I mostly want to replicate the Query Builder function in Access because users do not have access to this due to the (necessary) system restrictions that I have put in place.
Ideally, this is how it will work. End users will:
Open Report function and are presented with a list of tables
Choose required fields.
Add criteria.
Run report.
Can this be / has something like this been done? Does anyone have any examples of such a feature?

Selecting multiple parameters for a report, how to create multiple pages per item in parameter list?

I have a report that is a form per order number selected prior to running report. I want to make it so that you can select multiple order_nos from a list (populated by a query that runs first). Right now, it throws an error saying ANY or ALL must be used. I think it is trying to use both order_nos as the parameter for the report. I want it to create the report using just one of the order_nos at a time, and just replicate the report several times. Is this possible?
The attached photo shows what I tried to do and the error thrown.
Error
If you want to create completely separate outputs then you will need to do this by creating a data driven subscription for your report.
The subscription will execute your report iteratively for each record produced in a preset master query that you create.
Each record in your master query should return all the order no's you wish to execute the report for.
However, if the report needs to remain interactive, and the order no's is only decided at runtime. Then i suggest you keep your report as is. Put a grouping on your tablix based on order no then apply a page break per group instance.
This will produce a single report output with each order no appearing on a different page.
As said above if you want a completely separate output (multiple excel/pdf file outputs) then you will need to use a data driven subscription.
If you need detailed steps on how to do either of the above then just let me know here and i can include steps.

MS Access: Passing Parameter to Subreport w/o SQL

I'm trying to find a way to pass a parameter from a report to a subreport without resorting to any SQL code or macros (my officemates are non-technical, but still have to use the Access database to run reports, occasionally making tweaks to them.)
I'm working in Microsoft Access 2013. I have a table that contains a list of investments as well as which state those investments are based in. I have a query that pulls data on Investments based on a user-entered State parameter. I then run two reports: one that simply lists the investments grouped on different categories, then a second report that summarizes the investment categories into a table. I've put the summary report at the top of the detailed report as a subreport, but I want to pass the State parameter through from the main report to the subreport so the user doesn't have to enter it twice. Is that possible without resorting to writing any SQL code or macros?
Thanks!
I think I understand what you're trying to do, but please add details if my answer doesn't make sense.
You can pass user entered information by referencing by
[DatabaseObjectType]![ObjectName]![FieldName].
If the user is entering the State value from a Form, you'd reference:
[Forms]![FormName]![State]
where FormName is the name of your form, and State is actually the name of the Form control containing the State value.
If the user is entering the State value in a prompt from a query, you'd reference:
[Queries]![Query1]![State]
where Query1 is the name of your initial query that gets the state info from the user, and 'State' is the name of that field.
You put these references in to your secondary query or report:
for example, in a second query, you can set the State field Criteria (in query design view) to be = [Queries]![Query1]![State]
so the second query will pull the State value from the first query
on a report, similar idea - you can set the Control Source of the State control (in Properties) to be = [Queries]![Query1]![State]

How load the subreport data in a single database hit in SSRS?

I am using SSRS, the situation is that I am loading users in the Main report and I have created a sub-report to display the user addresses (there can be multiple addresses per user).
Now after adding the sub-report the report becomes considerable slow. My guess is that this is due to the fact that the Main report needs to fetch data for sub-report for each user in the list.
What I want to achieve is to load all the data for the sub-report in a single database hit and then just filter the records in the application. Is there a way to do this in SSRS reports?
If any other information is required then please let me know.
Thanks for your time.
If you want to do that then you should use grouping to achieve it. For example, have as your dataset query some Sql like:
SELECT User.Name, Address.StreetNumber, Address.Street, Address.City
FROM User
INNER JOIN Address ON User.Id = Address.UserId
ORDER BY User.Name
Then on your tablix add a Group (right-click on the handles on the right of the tablix to add a group) to have a row showing the user details then in the Detail group add the addresses (you can add more detail rows if needed to format it nicely again by using the tablix handles).
This will show the user then show all the addresses for the user, then show the next user and so forth.
you could consider using a shared dataset and enable caching on the properties (to be done on the SSRS itself)

MS access reports

I created a report using wizard and while creating I selected 4 columns for ordering data in ascending orders. It asked for 4 columns and chose 4 columns and after creation I want to change the preference of the second column to other one. How can I do that??
I cannot see anything in the report query or anywhere else
Ignore any ordering in your report's query source. You can discard your ORDER BY from the query because the Access report will use whatever settings you give it for "Sorting and Grouping" instead.
In Access 2003, with your report in design view, choose View -> Sorting and Group from the Access main menu. If your version of Access is different, look for a similar option.
I should think its just as quick to re-run the whole report. However you can edit the Query that the report is built on.
Or make a query, then get the report to run from the query, this means you can easily change it.