SSRS Force blank pages - reporting-services

I have some SSRS reports that are generated via a subscription. They Get PDF'd and dropped on a share. The way the report was designed there is a potential for one record (or row if you will) to take up more than one page. I would like to know if it is possible to insert a blank page only after a single record/row takes up more than one page. This includes not showing any headers or footers on the blank page.
I've tried adding a text box with a form feed character to the end of the page, which did not work. I also tried creating a text box that is wider than the page (using an expression to control it's visibility) but that just forced the body of the report to be larger than the report's width which caused blank pages to show up everywhere.
Any help would be great.

Related

create margins after page break within tablix

Im working on a Report with a coverpage. So the body has no margins and the full page is useable.
The report also has no Headers or footers because the coverpage must cover the whole page.
For tablix i set a row with empty textboxes to get white space between the page border and the tablix. But if a tablix gets so much data that 1 site is not enough, the data will go to the very edge of the page and start at the very top of the new page.
How can i enter space at these points so data isnt at the edge of the page?
I was unable to find a method that worked in this case.
So the BackEnd dev requested for me to split the two reports into the Coverpage and visual data area. That way i can have footers and my colleague simply merges both reports back together when its being requested.

SSRS Report not correctly suppressing white space

I have seen some mind-binding situations with SSRS reports in my few years of using it, and I've been able to design around most issues and get it to do everything I've been asked to do.
But apparently, not something extremely simple!
I'm using Visual Studio 2019 version 16.7.2 with the Microsoft SQL Server Reporting Services Designers
version 15.0.19124.0 installed. There's no data bound to the report, this is just a simple design concept.
I have a report that has a static custom page size (in centimetres), interactive size and no margins (12.8 x 17.8cm).
The body size is deliberately set to make it a two page report (2 x the page height).
'ConsumeContainerWhiteSpace' on the report properties is set to true.
Page 1 has an image, consuming the entire space of Page 1 (size of 12.8 x 17.8), with a Text box placed near the bottom right of the image (overlaying it, but not exceeding the width or height of the page, and is set to not grow).
Page 2 is exactly the same, with the content starting where Page 2 would and should start (0, 17.8). However, the Page 2 content is set to hidden (hidden = true, on both the image and the textbox).
When previewed, the report renders two pages, one of which is blank.
If I take the Page 2 content textbox off, and preview it, the report renders as one page (as I need it to).
The same issue occurs if I replace the textbox with a Rectangle or Tablix (the two objects I really need to use in this report as well as the textbox located where it is) and set them to hidden.
Moving any of these objects to the top of Page 2, still results in the same behaviour.
It seems that certain objects, despite being hidden, have space allocated that can't be 'rolled up / truncated / shrunk'. Is this 'by design behaviour'?
Is there some form of magic-witch-craftery I'm missing here to get this to work, or simply something I'm not understanding... ?
Thanks for reading!
Note: So far I have tried the 'Switch to inches, then back to centimeters' solution mentioned in other posts along these lines, have varied 'Keep together' properties, checked 'CanGrow' and 'CanShrink' property changes - all of which have not helped find a solution.
The report body should be set at most wide enough to fit on your output page and long enough to hold all your report items. When you want different items to appear on a new page, put them in a container with a page break set either before or after (whichever is most appropriate). This can also be handled in a data driven manner using page breaks on table groups.
There is no requirement to have white space within your report design to 'fill up' the rest of the page on the rendered report.
If you want anything to appear at the bottom of the report, simply put it in the footer section. If you want specific things to appear at the bottom of the page of different heights on different pages, that is more of a challenge and will usually require some clever data driven spacers within the report body.

SSRS Add Blank Page After Every Page

I have a requirement to insert a blank page after every page when an SSRS report is printed/exported to PDF, however this needs to be controlled via a parameter.
The reason for this requirement is that when the report is printed each page of data needs to be printed onto a separate piece of paper, however the majority of printers are set to double sided by default. Users aren't able to change the default setting except on each occasion they print. Unfortunately this double sided print setting isn't applied everywhere so there needs to be an ability to control the addition/removal of blank pages.
I am able to force a blank page to be created after every page by simply setting the size of the report bigger than the page size, though it isn't possible to control page width size via an expression.
My only thought is that this may be possible via custom code but don't really know where to start with that.
If you go to the table properties, you can set an expression for the Page Break Disabled property. This will allow you to disable / enable a page break based on a parameter. In this example I created a boolean parameter called Break. If its set the parameter to True, you will get an additional page after your table. Hope this can get you started!

SSRS Show Textbox on last page separately

I need to display a Textbox in the body of the report, but it has to be on a separate last page. It is actually a Word file that needs to be shown in each report, but seeing as how the only way to accomplish this is to put the file to the Report Server and then access it with a link, I decided to copy the contents of the file to a Textbox.
This and this question on SE are similar, however it is not exactly what I need.
You can achieve this by adding items with appropriate page breaks to the report.
Say I have a simple report with a table and a textbox:
The end result looks about what you'd expect:
However, we can force the textbox onto a new page by embedding it in a Rectangle and setting the Rectangle to always be preceded by a page break:
Now the report displays the textbox on the last page:
Tables themselves can also have page breaks, but since it's just text with no dataset it makes sense to me to use a Rectangle here.

Mimicking Spreadsheet Style in a MS-Access Report

I've been tasked with creating a report in MS-Access that looks exactly like a spreadsheet that a vendor supplies to us for my company to fill in.
The number of records per page is about 40 and there are usually 3-6 pages that need to be prepared. Each month there is a new report sent out and I just got finished writing it all in manually while looking at a report I generated. The purpose of this is to avoid manually transcribing the data.
They are adamant about using their format and will not accept a different report, so I'm trying to be sneaky about it.
Problems
I can duplicate the header of the spreadsheet and the rows just fine, I've just run into a few snags.
Blank rows need to be displayed on the last page of the report instead of nothing being printed (whitespace) and then the page footer.
Whitespace that exists between the Details and the Page Footer is present. The page footer should instead appear to be another row of cells, except that it has the text Page Total and the page total on that row.
The second item happens because the Page Footer always appears at the bottom of the page in a set location as opposed to where the records ended (even if they took up the entire page).
Ideas
If there is someway I could create a
group based on page, then I could
stick that right after the details
section so that it would line up
nicely as opposed to the page total
and still be able to display the page
total.
Inserting blank rows into the rows to
match the number of records, is this
possible? I could calculate how many
extra rows I would need to complete
the page, but how would I insert
those rows into the data source?
Creating a new excel spreadsheet from a template and just writing to there the rows.
I'm using MS-Access 2007 here with a MS-Access 2003 MDB.
Any help is greatly appreciated.
If you need gridlines to print at the end of an Access report, one option is to create a background bitmap that you insert into the report's picture property.
This would be rather fussy, as you could use it only if your headers and footers are identical on all pages, and you'd have to be sure that controls entirely cover the whole detail area so that the background graphic will not show through except on pages where there is blank space. Also, if you altered the width of your detail fields, you'd need to edit the graphic to harmonize with those changes.
Let me just say that I consider the insistance on replicating the look of the spreadsheet to be incredibly boneheaded stupid. What purpose is served by these gridlines except to replicate the visual appearance of a spreadsheet? Are they going to use the grid to write things in? If not, then it's just a really idiotic requirement.
Start by turning a copy of their Excel report into a template file. Remove the data, but keep headers, formating, and formulas as needed (Some data manipulation will be easier in Access.).
This way you can enter and store data in Access. Instead of having users fill-in the spreadsheet in Excel with VBA based on the template file.
You'll run into different issues of how to place the results of a query to a worksheet and filling in formulas in specific fields, etc., but those can be later questions to post.