First, my product is a church management/accounting program. Among other
things, it accounts for the receipt of donations, and the payment of bills
incurred by the church. Ignoring the income side, the expense side works
this way:
The church establishes records in a tAccountsPayable table for all bill
received or regular payments such as salary. This tAP table is structured so
that all the information needed to write a check and record the payments is
in the tAP records. The records can be used over and over again, eliminating
the need to define the data to go in the individual checks as long as they
are consistent, i.e. the amounts of payroll gross and deductions may change,
but the payee and the expense accounts to be charged are consistent. An
individual may have several AP records if he is paid, for example, for
payroll (record 1) and reimbursement for expenses (record 2). The tAP record
is linked to a subForm which contains from 1 to N number of records
describing how the net amount of the check is to be distributed to various
Expense Accounts when a check is written. These records are housed in a
tAPDetail table; the records consist of linkages, APID to the AP record,
ExpID to the tExpense table, and the amount to be charged to that account.
The Expenses Accounts are defined in a table tExpense. tExp records are
simply the name of the expense account (e.g. Clergy Salary, Federal Income
Tax Withholding, Utilities – Gas, etc.), plus linkages to tables which define
the Accounting Categories, User Report Sequencing Category, Fund from which
the payment will be made, and Liability that will be debited/credited by this
account when it is used in a payment.
When expenses are recorded, a record in the tDetailOfExpenses table is
created, recording the CheckID, the ExpenseID, and the dollar amount charged.
The table tChecks contains one record for every check written, and that check
has a CheckID in addition to a Check Number.
With that as a background, the primary reason for having the
tAccountsPayable table is to simplify the repetitive creation of checks to
the same payees for the same purposes. Note that some users will have 150 to
250 Expense Accounts because they want to have a great deal of control; some
will have several hundred vendors, suppliers, employees, etc. There are
other tools in the program to schedule payments, accumulate checks to be
paid, etc.
Finally, getting down to the problem: When a check is to be written, a
“Ready to Write†check-mark control is turned on on the AP Record. When time
comes to write the check, two matched queries are used, linked via the APID.
• The qReadyToWrite query collects the payee’s name, address, and
payee-related information (SSN or EIN, etc.) .
• Another query qReadyToWriteDetail collects the expense account
information housed in the tAccountsPayableDetail table.
The Report “Check†is structured in three parts, of almost equal sizes. The
top part is the check which conatains the payee name, address, amount, and
remarks that are normal to all checks. The second and third (the “skirtsâ€)
contain information about the payee, the check number, and a breakdown of
what was paid. An example of what is to appear in this breakdown:
Non-Clergy Salary $1,000.00
FIT Withheld (150.00)
SSA Withheld (62.00)
Medicare Withheld (14.50)
Net Total $773.50
Most other checks would probably have only one line:
Utilities – Gas $225.23
Net Total $225.23
On the Check, the payee related information is all taken from the
qReadyToWrite query. The distribution information is taken from the
qReadyToWriteDetail query which is used by the subReport
CheckAccountsPayableDetail. This subReport produces on the check only the
detail contained in the examples above.
Again, the problem is that once I changed from the report structured such
that the detail came in a “detail†format in the report to the use the
subReport twice in the body of the Check (no detail section), I was able to
get the distribution to print on both of the skirts, but now when I print a
group of checks that contains no multiple-expense-account distributions, they
print properly, i.e. they don’t cause a blank page to print after the checks.
However, any time there is a multiple-expense-account distribution check in
the batch, that check causes a blank page (check) to ‘print’ after the
data-containing check. If the first check contains multiple expense
accounts, the second pre-numbered check will be fed through the printer, and
the printing will continue. In other words, single-expense-account checks
don’t cause the feeding of a blank. Multiple-account checks do. It gives
the appearance that the multiple-account subReport has overflowed the bottom
of the page, yet there is more than enough space for it.
In the check proper, I am using Report Header, Page Header, and CheckNo
header. The height of the Report and Page Headers is zero. The CheckNo
header height property is 9.9â€. The page margins are 0.5 and 0.25
(top/bottom). The Detail and CheckNo, Page, and Report Footers are all 0.0â€
height.
I realize you asked what time it was and I described how to build the watch,
but I don’t know how else to describe the problem to you.
What do you think?