Eliminate duplicate pages of report

R

Rich

Access 2003.
I have a database that I use to collect information on Patient Care charts
for an EMS service for quality improvement feedback to the medics.

One report I created shows statistics for the whole department (within a
date range), then prints a page for each medic that wrote a chart within that
date range with their individual statistics.

But, if "Medic A" wrote 5 charts in that date range, I get 5 copies of the
same information for "Medic A". All of the information on the page is
correct, meaning it is a compilation of all 5 charts written, but I only need
one copy.

How do I fix this problem? Thanks in advance!!
 
M

Marshall Barton

Rich said:
Access 2003.
I have a database that I use to collect information on Patient Care charts
for an EMS service for quality improvement feedback to the medics.

One report I created shows statistics for the whole department (within a
date range), then prints a page for each medic that wrote a chart within that
date range with their individual statistics.

But, if "Medic A" wrote 5 charts in that date range, I get 5 copies of the
same information for "Medic A". All of the information on the page is
correct, meaning it is a compilation of all 5 charts written, but I only need
one copy.


More information might help point to a specific answer, but
without it, all I can do is guess that the "chart" data is
in a subreport. If that's the case, then I think the
problem is that the main report record source query includes
the chart data too, probably because of an inappropriate
Join.
 
R

Rich

It's not a subreport. The statistics for all of the records in the date
range (statistics for the organization as a whole) is in the "report header"
section of the report. The statistics for the individual members is in the
"page detail" section of the report.

My report is generating a page for every record within the date range. Each
page of the report looks at the "caregiver" field and compiles statistics
based on all of the other records in the date range with the same value in
the "caregiver" field.

If there are 15 records in the date range and only 4 different values in the
"Caregiver" field, I only need 4 pages in the report (plus the "report
header" page) - but I get 15. Each of the 11 "extra" pages are an exact copy
of one of the other 4 pages.

I was assuming it was a simple "setting" that I was overlooking. Maybe it's
a more complicated issue.

I guess I don't know what other information to provide. Maybe I should be
using a subreport and that is what my problem is. I don't know anything
about them, so I'll study the subject and see where that leads me...

Thanks!!
 
M

Marshall Barton

Rich said:
It's not a subreport. The statistics for all of the records in the date
range (statistics for the organization as a whole) is in the "report header"
section of the report. The statistics for the individual members is in the
"page detail" section of the report.

My report is generating a page for every record within the date range. Each
page of the report looks at the "caregiver" field and compiles statistics
based on all of the other records in the date range with the same value in
the "caregiver" field.

If there are 15 records in the date range and only 4 different values in the
"Caregiver" field, I only need 4 pages in the report (plus the "report
header" page) - but I get 15. Each of the 11 "extra" pages are an exact copy
of one of the other 4 pages.

I was assuming it was a simple "setting" that I was overlooking. Maybe it's
a more complicated issue.

I guess I don't know what other information to provide. Maybe I should be
using a subreport and that is what my problem is. I don't know anything
about them, so I'll study the subject and see where that leads me...


"I see", said the blind man. ;-)

It sounds like you actually have no use for the individual
detail records and only want to aggregate some values for
each care giver. In this case, I think you should probably
use a Totals type query as the report's record source. This
way, the calculations would be done by using Count, Sum, Avg
functions in calculated fields in the query (instead of what
you are doing in the report).

I don't know what calculations you want to do, but a query
something like this may get you started:

SELECT CareGiver, Count(*) As Incidents,
Sum(hours) As Totaltime, . . .
FROM sometable
WHERE whatever
GROUP BY CareGiver

If your calculations can be done that way, the report will
then be trivial. (I don't think a subreport approach can be
better so you can skip that idea.)

For more complicated calculations, you can do what you are
doing now (whatever that is?), but add a group level with
footer on the Caregiver field. Then place the calculated
values in text boxes in the group footer section and make
the detail section invisible.

A major concern with this latter approach is that you might
be tempted to try to use code in the detail section's Format
or Print events to calculate results from multiple detail
records. Regardless of any considerations, do not sucumb to
this temptation. This is not a reliable calculation
technique because the records can be processed as many times
and in whatever order Access needs to deal with the report's
property settings. A good rule of practice is to back away
from this idea and put more effort into getting the record
source query to do the work instead of making the report
more complicated.
 
R

Rich

I think I understand what you are saying.

The calculations I'm doing are nothing major.

The information I collect in the database are: various times (time call
received, time arrived on scene, time we begin to transport the patient to
the hospital, etc.), about a dozen "key" areas of the hand-written "patient
care chart" where I assess the level of chart completeness, and some basic
patient information (why we were called, condition of the patient, etc.).

The "statistics" I'm calculating for both the department-wide and individual
pages of the report is a summary that included number of patients that
require "basic" level of care, advanced level of care, percentages of charts
that were "complete" and common items missed, and averages for how long it
took to get to the scene, how long it took to get the patient to the
ambulance and be headed to the hospital, etc.

I'll dig into this as see what I can find.
 
M

Marshall Barton

Rich said:
I think I understand what you are saying.

The calculations I'm doing are nothing major.

The information I collect in the database are: various times (time call
received, time arrived on scene, time we begin to transport the patient to
the hospital, etc.), about a dozen "key" areas of the hand-written "patient
care chart" where I assess the level of chart completeness, and some basic
patient information (why we were called, condition of the patient, etc.).

The "statistics" I'm calculating for both the department-wide and individual
pages of the report is a summary that included number of patients that
require "basic" level of care, advanced level of care, percentages of charts
that were "complete" and common items missed, and averages for how long it
took to get to the scene, how long it took to get the patient to the
ambulance and be headed to the hospital, etc.

I'll dig into this as see what I can find.


One technique that is useful is to aggregate a count or sum
conditionally. E.g.
Sum(IIf(carelevel = "Basic", 1, 0))
will count the patients that only needed basic level of
care.

However convenitent that might be, it is not really a good
approach because it uses a data value ("Basic") in an
expression. That's bad because you will have to find and
fix it whenever the terminology changes or you add another
care level. More complex to get going initially, but better
over the long haul, is to use additional tables and queries
to calculate the summary data. One or more subreports for
just this kind of value can be a good idea here. If you
think this is beyond your current skill level, then I
wouldn't worry about it now, but keep it in mind when you
run into problems, maybe you'll be better prepared to deal
with it then.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top