Access 2007 Report: Code or no Code? - ms-access

I've been researching around a lot and I just can't find something I think should be very easy to someone with very little experience with Access 2007.
I am trying to create a report. The db has two tables. One with account, name and address. The other has account and product Id. The tables are joined on account. One customer/acct can have several product Ids.
I need to create a mailing that will have rich text in the body and list per account/customer the products they have.
I keep running into having the rich text(body of letter) showing each time the product Id is listed. Do I need to create something in code first? Like an array with the product Id so I can have it as one variable per account/customer? If so, where should I create this? In code, macro or expression builder?
Getting kind of frustrated I guess. I'm tempted to write something in C# as I have enough knowledge I think to make this happen, but I prefer to keep it all in Access. I might also be asked to keep it in access and c# is not what is used currently where this project is being built.

Rogue:
You should use a page header on your report containing the formatted customer/account info, probably: "Dear Account:... " You're treating each id as a separate form letter. What you want is each customer to get the letter via treating the customer as a page header and group footer, while the id's go into the details.
Then, the one or more products would be in the detail section.
The closing of the letter would be in the group (customer info) footer: "We look forward blah., blah sincerely.....
Then, set the property of the group footer to "force new page after section", meaning when you get to a new customer, eject to a blank page and start printing another letter.
Hope this helps.

Related

flatten results onto one line in report builder

report example
i have a report that displays client contact details, but annoyingly for each different contact type it displays the results on a separate line! Can anyone advise if it possible to show the results on one line using an expression or some sort of filter, not using SQL.
as you can see from the image Miss S has both a mobile (MBL) and telephone (TEL) number but they show on different rows, if in my program i were to add an email address then it would add a third line, is it possible to flatten the results down to one row?
regards
You'll need to remove the Contact Type column from the tablix as this won't be valid once you put all the contact details on the same row.
Once this is removed, you will then need to edit the row group (under the main design window) and group by the first 5 columns only. There may already be grouping set, if so check that contact type is not in the group by list, if it is remove it.
Alternative
After saying all this, I can't help but think this report would be a whole lot easier, assuming the data was structured correctly (it may already be), to use a matrix control. That way all this and the answer to your previous question (asked recently) would be automatic. I won't go into detail but if you are interested, create a new question and show the output from your dataset query, the query code itself and the desired output. optionally, accept this answer ! :)

Formatted Text in report Access 2013

I am using Access 2013.
I am generating a specifications writing database which involves the user inputting a number of items as data which is then incorporated into a report. The report structure is largely similar but there are something like 30 variants with small changes based on the data entered at the start.
Each report extends to around 7 pages whereas the data is only in the first 2 pages. The remaining pages contain standard clauses common to all the reports. effectively they are an instructional on using the products to which the specification report refers.
I now have a rather frustrating problem.
Is it possible please to set up a standard report using a rich text format. I have thought of using the bulk of the report as an image and incorporating this but it uses up lots of storage space. I have looked through the forum but cant find a scenario that really fits what I am looking for..
I almost want a really big text box that I can format in the same way as you would a word document. Not sure if this makes sense so if further clarification is required please ask. Many thanks in anticipation.
You can use Rich Text in Access, with the data stored in a Memo (Long Text) field: Link
I would set it up like this:
Have a table with one field per clause. This table has only one record. Fill out the texts directly in the table (or build a simple form for it, if you like).
In your record source of the report, add this table without any join (= cross join).
Then add all the fields to the report footer, height = 1 line, Can grow = True.
This will keep each clause together on a page. If you don't care about this, you can also use one huge field with all the text.

Filemaker report

I am presently converting an access file to a filemaker solution and very new to filemaker.
In Microsoft access, I have a report that displays the output of a query which in turns queries information from a table. How should I build that in filemaker?
FileMaker is different in that views (called layouts in FileMaker), which display query results, are defined prior to use. For example, if you had a Customer table, and you wanted to find out which customers are in a specific city, you would would first create a new layout that displayed the fields you would want to see in the result, perhaps company name, city, contact person and phone.
Once you have the layout ready, you can either manually query the table directly in the layout using query-by-example. The specific steps would be:
From the View menu, choose Find Mode.
Click in the city field and type in the city you're searching for, ex. San Francisco.
Use the Requests menu and choose Perform Find, or just click the perform Find button in the status area at the top of the window.
A couple of points:
You can enter search criteria in as many fields as you like, result in an 'AND' search. For example, you could search for customers in San Francisco and that have a contact named Jorge.
To do an OR search, you need to add additional 'find requests' by using the Requests menu and choosing Add New Request.
In text fields, searches are by default 'begins with' searches. For example if you had a contact named Jorge, that contact would come up in a search for Jorge, Jor, or even J. If you need a whole word match, preface your criteria with =, ex =Jorge
Take a look at the search operators at the top of the screen where it says Insert: Operators. This option is only available in Find Mode. You'll find you can search for date ranges or wildcard characters, pretty much anything you need.
If this is a query you need frequently, such as a monthly aging report, the search can be encoded into a script and tied to a button, so that next time you need the report, you just push the button.
This is not really a programming question. Go To Layout mode and select Layout/New Layout Report from the menu. The wizard will guide you through generating the report. You will need to add a script to search for you data.
The best way to learn this is to create one of the starter solutions and see how reports work there
You can find a set of records using any layout that has the field(s) you want to search, regardless of its primary purpose. The found records will be displayed using that layout or you can switch to another layout, say a report layout.
After you have created ( or duplicated an existing Access layout ) the user can simply type Command+F and enter the city name in the city field. You can make this field a popup field in find mode to make it easier. Select or enter the city name and press enter.
Filemaker is so flexible that there are a great many ways to accomplish the Find but your users are probably familiar with entering the name in the report layout.
Always test your ideas with a number of users so as to keep them happy.

The best way to manage database (ACCESS)

What is the best way to organize a big database.
The way it works is that only I am allowed to touch or modify the database but interns help sometimes to collect data, we used to have the whole system excel based, back than we had the macro which by choosing 2 files it will integrate and mark in colors the changes.
How can I create something friendly to use which will update by pressing a button and also will show changes!! I am familiar with the update query, however:
it doesn’t track any changes.
I want to know other options.
To sum up the way of processing is:
I have the database and I need to split some data to smaller files so other employees will work on.
Then I will collect the files and integrate with the existing database, but since we are all human mistakes can happened that’s why I want to be able to track easily changes.
The updates are going to happen often. When I will give the intern a temp. table The possible changes are for example: address, phone number, price, they will do those researches based on current data which they will find online which information has been changed, and they will change the info which is on the temp. table, That is why I want to be able to know what exactly did they found out. Lets say if Product A (product ID1234) used to cost 10$ and today its 12$ from the same supplier. I just want to know and to see that the price for product ID1234 has been changed. Not only to have it updated to the back end database. For quality assurance I need to track which new input they did in relation to the product ID. (some times input by someone else which was done in wrong format or wrong column could affect big time on the quality of the reports)
So this was the explanation for what I need the reports
So in order to make those temp. tables, I want to create a form for it that by choosing region, category etc. and then clicking on a button it will automatically select the relevant records from the database, create a new table/access-file and then copy the selected records to the temp. table. So someone else could work on it...
Next thing is that it would be nice to know how can I create a template for tables, by template I mean to standardize by validation rules. some fields I'd like to have dropbox menu, some fields ready mask for phone number.... etc.
Final part, after they made the changes and saved the file (the temp. table which they were working on), I want to be able to update the back-end database via clicking on a button...
Looking forward to get the best solution!
Thanks in advance J
Michael
Okay for the temp tables thing:
why not split your database in a backend part (having all the tables) and a frontend part which contain the forms and tables the interns need? I'm guessing mostly it is going to be the same so you can even create multiple different frontend's to give to different interns incase they need other tables. There are a lot of articles out there about splitting a database and linking tables.
Then the thing about the record changes not sure is this is what your looking for but it could help, i haven't used it myself so not sure what it exacly does. But this may help you a bit.
http://support.microsoft.com/kb/197592
I would consider taking a look at the BeforeUpdate event for the form. You can trap the old and new values of textboxes if the form is bound to a table. You could loop through all the controls on your form and check for Me.Control <> Me.Control.OldValue. If they don't match, write both values to an auditing table so you can go back and check whenever you want to. I would include the following fields in your auditing table:
ChangeDate
TableName
ControlName
OldValue
NewValue
Then you can query that table any time you want to see what has changed.

SSRS - Single page per row

Creating a report that is a display of a persons online application, so there are text boxes and multiple tables per person. I need each person to print on the same page, so a user can select either a particular application, or a date range, like all applications for today and yesterday. I currently have everything in a LIST object with a page break set on it, however the tables in the LIST would throw the "detail member with inner members" error. I found a a way around that using the solution here: http://blogs.lessthandot.com/index.php/datamgmt/dbprogramming/reporting-services-error-the-tablix/ , which got rid of the error, but any multiple row tables return a new row per page, so a person with 3 aliases, will have a 3 page report. So, I am looking for a new tutorial on how to keep everything on one page, but allow my tables to return all results on the same page. Thanks.
I don't know if you are writing the query out or using a stored procedure. If you are using a stored procedure if would make it a lot easier to use SSRS. But to get the grouping correct find a common record between the user and the aliases. Then be sure to pull that common identifier into the stored procedure. Then use the table wizard and pull in all the information you want to see and pull the common identifier into the row group box and it will format for you and group that person on the common identifier and hopefully give you the results you are looking for.