I have a situation where I am converting Crystal Reports to SSRS.
The difficulty I am encountering is that Crystal Reports are more "free form", for lack of a better phrase. The reports i am converting have numerous groupings (eight in all) and are put out in more of a haphazard free form way, in both the grouping headers/footers and in the detail band, and I am trying to convert that layout to SSRS.
SSRS is more "rigid", if you well, with the Table layout cells for the detail band, and makes the free form layout more difficult, i.e. placing fields out in a free form manner as opposed to being relegated to the rigid table grid format of SSRS.
I suppose I could create a separate Dataset with the same Stored procedure input to produce the desired result, but wow that's a lot of extra processing.
Any ideas or suggestions? Hope my question makes sense
If you need more of a Form look, try using a Text Box inside of a List. You can associate the List to a Dataset and then assign the Text Box to a field from the dataset. The List can encompass the whole body and the Text Box can be anywhere within the List. If the List set to the size of the Body, each record in your dataset will populate the text boxes on a new "page".
Also make sure you understand the difference between the Body object and the Page object. body size + page margins = page size.
Related
I have an rdlc report in my application. The report looks good when seen on the web page, but when I choose the option of exporting to Excel, I get some columns merged in more than one cells. I don't want columns to be merged. How can I prevent this. I already saw this post, but the link provided in this post is not working.
Any help with this issue will be appreciated.
As the post you shared suggested, this is usually down to cells/textboxes not aligning in your report design.
SSRS will attempt to replicate the layout that you see in the report preview (or webpage in your case). To do this it will add additional columns to provide the correct spacing and then will merge cells that cross those boundaries.
Make sure that all your textboxes align with no horizontal gap etc. For example, if your report contains a table/matrix and a textbox with a title. Make sure that the title textbox starts and finishes exactly in line with a cell in the table/matrix.
Note that cells will still be merged if they cross the boundaries of columns (e.g. the title in this example, might be merged across several columns depending on it's width).
Sticking with our title scenario, if you need to stop it from merging under any circumstances then you could try this (untested).
Create two textboxes, one wide enough to fit the title in and another that is the same width as other data that shoudl be in the same column in the final excel output. For example, if you have a table with 6 columns, the first textbox will be the same size as those 6 columns but the smaller version will be aligned with the first table column only.
Set the location of both these textboxes to the same location (so they overlap).
Then in the hidden property set one to be hidden when Globals!RenderFormat = "EXCELOPENXML" and the other when this expression is not true. This way the short textbox will only get rendered when exporting to excel, and the logn one will only get rendered to screen.
Depending on version SSRS etc you will have to decide which render format(s) to check for.
See here for documentation on RenderFormat
https://learn.microsoft.com/en-us/sql/reporting-services/report-design/built-in-collections-built-in-globals-and-users-references-report-builder?view=sql-server-ver15
I am working for the Vanuatu government at the moment and there is a very specific reporting requirement. The report needs to generate a formal document ("statement") for students ("learners") who have achieved some courses ("components") of a full qualification but not the complete qualification.
The dataset consists of a list of learners and for each learner the list of components they have achieved.
The requirements that generate issues:
A border should be displayed around the page content.
The number of components vary per learner.
There is specific data at the top and at the bottom of the page. At the bottom of the page there is data here that is learner dependent.
There needs to be one page per learner (I can control this by using slightly different versions of this report that would work based on the number of components per learner.
The design I created for the report can be seen here. This is the design that should work for any learner who has passed 1 to 4 components.
However, this does not work, because, depending on the number of components the learner has achieved, the data at the bottom is pushed down.
I thought I might be able to solve this by putting the image at the background of the whole report per page, and then put a header and footer in with the data that is learner specific. But this does not work either because it is not possible it seems to have a background image that covers the whole report page, including a header and future.
And the other problem is that there is a learner specific number (the statement number) that should go in the future, and I don't think I can put dataset data like that in the footer.
I also thought of splitting the background image in 3 parts, one each for the header, footer and body. But then I run into the same problem because I still need to get the learner specific statement number in the footer.
Another solution was to maybe have a fixed set of rows (partly invisible) in the list of components, to force the height of this list, but this does not really work either, because some titles of the components will be longer than the width of the page and wrap and take up two lines of text. Some others may not. So I don't know the height of each component line.
Is this possible at all in SSRS? Any help would be greatly appreciated.
Try creating a rectangle in the space that will be taken by the components list.
Then cut the current text box containing your expression, click the rectangle then paste inside it. This will ensure that the rectangle is the container for the textbox.
Then, in Report Properties, set ConsumeContainerWhiteSpace to True. This should allow the textbox to grow within the rectangle
I am learning InfoPath 2010 and have a form that I am creating, but have two issues that I don't know what to do about. In the form I have created there are several columns (repeating tables). I pulled the data in from a database and have already set the conditions for what I want to be returned in the SQL, under the Data tab. So I have the correct data returning, however the issue is that the data is not in a consistent even row across the form (lines on a piece of paper) the lines begin to become offset by the second row and continue to the last. I have tried creating a table to put the data into and was hoping that this issue would go away, but that is not the case. How do I fix this cosmetic issue? OR where do I find the HTML code? When I select "Code Editor" under the Data tab, I am given VB code and there is not much code to work with.
Thank you for your help in advance.
CompGeekess
As I was continuing to find the resolution to my delima, I noticed that when a you have a column selected, Properties and Layout tabs appear at the top. In the Properties tab you can set the width and height of the column using in, and px. I noticed that not all of the columns had the same height in px, so I made each the same height, saved and previewed the form and now the rows are no longer offset. Interesting how something SO simple can make a huge different. The difference was only 2px off.
InfoPath actually creates an XML document, not HTML (if you right-click on a field in your Data Source you'll see a "Copy XPath" option). The best way to control your layout is using a Layout Table (Tools -> Design Tasks -> Layout)
I would recommend avoiding setting pixel values as well, and leaving control heights to "auto" whenever possible. If you're using a layout table and having alignment issues, right click in the table and go to Properties. You'll have Horizontal and Vertical cell alignment options (for the cell contents) in the Table and Cell tabs. You can also select multiple cells (just select the contents of them) and then assign that alignment to all in the same way.
I'm really brand new to all this, so excuse me if it's a stupid question. I've got two list boxes on an MS Access form. I'm resizing the list boxes based on how much data I'm getting back. However, this form needs to print, and the list boxes have enough data in them that they need to stack one above the other. When the first list box expands, it covers the second list box. How can I move the second list box down, so that you can clearly see it?
A really good tip here is to avoid trying to print a form, and use a report. Forms are for data entry, and reports are for printing data.
You don't need any code to get the controls to expand and contract as needed. Just place the listboxes on the report, and set their can grow and can shrink to true. And, in fact, better than listboxes would be to use two sub-reports. The sub-reports will allow multi columns of data, allow formatting of each column, and again the can grow and can settings as true will allow them both to expand and contract as needed.
So, you don't need to write a bunch of code, but it is strongly suggested you use a report and not a form for printing as there many options setup that allows controls to expand and contract as so often needed when printing data. So, listboxes on a report with can grow likey can work, but sub-reports will likey work even better and they allow formatting of the data.
I'm working on a Microsoft Dynamics CRM Quote with a separate header report and sub report.
The sub-report has a detail grid of what is quote, a terms and conditions statement which amounts to a large block of text, and other items.
When the report shows on screen, the Quote looks just like I intended. However, when I export to Word or PDF the long text block of terms and conditions will not print until the second page and there is a lot of white space on page 1. I set "Keep Together" on that text box to false, but that does not make a difference.
Also, I am getting blank pages in between worthwhile pages containing text and I think this is because one of my objects is too wide horizontally to print on paper.
Can anyone help me with the following questions:
What is the best way to know whether what you are authoring will spill over to more pages horizontally?
How do I set the large block of text not to begin a new page if it does not fit? I can't seem to find the setting. Is my only option to divide this large text box into many smaller boxes?
I have run into similar issues before with wide reports. One of the easiest things to fiddle with are the margins in the report itself. This can be configured in
Report > Properties > Margins