Generate Monthly Report based on table

dswift

New Member
Joined
Oct 24, 2017
Messages
21
Right now I have an access database of clients for which I perform services at predetermined intervals (quarterly, monthly, annually, etc). See example below.

<tbody>
Client Database
Client Months Due
A
Jan
BMarch; June; Sept; Dec
CFeb; May; Aug; Nov
DJune
EApr; Oct
FJan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sept, Oct, Nov, Dec

<colgroup><col><col></colgroup><tbody>
</tbody>
</tbody>

Each month, I would like to generate a new report/table/query/anything that will display all the clients that are "due" that month. In this newly generated report, I would also like to have columns in which I can enter dates that each step of the work is completed, like below:
Desired Monthly Report (June)
ClientTask ATask BTask C
Client B8/15/20178/16/2017
Client D
8/5/2017
Client F8/1/20178/15/20178/16/2017

<colgroup><col><col span="3"></colgroup><tbody>
</tbody>

<colgroup><col><col></colgroup><tbody>
</tbody>

Additionally, if I later make a change to the underlying table (ie., change the months that a client is due), I do not want it to effect past reports. (If in 2018 a client changes from quarterly to monthly, I dont want the row and dates to disappear from old reports made in 2017).

Sorry if this is not clear - I am new to access and self-taught
 

Excel Facts

Excel Joke
Why can't spreadsheets drive cars? They crash too often!
It looks like the underlying database example did not come through. The underlying table on which the report should be based looks like this:
Client Database
Client Months Due
AJan
BMarch; June; Sept; Dec
CFeb; May; Aug; Nov
DJune
EApr; Oct
FJan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sept, Oct, Nov, Dec

<tbody>
</tbody>
 
Upvote 0
The table should not look like that. And you should not store multiple values in one table field in one record.
Clients should be in their own table (not that your sample indicates otherwise - it's unclear as to whether or not you realize this). This table should have a Frequency field IF it is based on the client. If the frequency is based on something else, it belongs with the something else, meaning another table.
ClientID in tblClients should be a foreign key (FK) in tblServiceDue (or whatever you call it) so that you can relate the client to the rest of the process. It's not possible to provide much else since the business process is a big unknown. Probably you should keep history (services performed) separate from the part that calculates due dates but I would not store due dates in any event. A form or report can calculate due dates by using the last performed date and adding the frequency to it. You might also have a frequency table that relates periods (1 month, 3 months, 6 months, etc) whereby you see these values but use their related day span values (30, 90, 180, etc.) to facillitate due date calculations.

I have a feeling that you should read up on normalization so that you can realize what entities are (when it comes to databases) and how to define them as tables.
Normalization Parts I, II, III, IV, and V
http://rogersaccessblog.blogspot.ca/2008/12/what-is-normalization-part-i.html
and/or
http://holowczak.com/database-normalization/
 
Last edited:
Upvote 0

Forum statistics

Threads
1,214,649
Messages
6,120,732
Members
448,987
Latest member
marion_davis

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top