Practical Learning: Introducing the Associates
|
|
- If you want to follow this exercise, create a blank database named The
Associates
The Number of Participants |
|
The first time this group of people get together, they
make a few decisions. The first action consists of
evaluating the number of people who are going to participate and they
register them (sometimes the registration is mental because everyone knows
the other people).
Practical Learning: Registering the Participants
|
|
- Before registering the participants, start a table in Design View
and create it as follows:
Field Name |
Data Type |
Caption |
Additional Properties |
ParticipantID |
AutoNumber |
Participant ID |
Primary Key: True |
AccountNumber |
Text |
Account # |
Field Size: 10
Indexed: Yes (No Duplicates) |
AccountDate |
Text |
Account Date |
|
FullName |
Text |
Full Name |
|
HomePhone |
Text |
Home Phone |
|
CellPhone |
Text |
Cell Phone |
|
EmailAddress |
Text |
Email Address |
|
Notes |
Memo |
|
|
- Save the table as Participants
- Close the table
To centralize the management of this organization,
somebody has to be in charge. It doesn't have to be the person who
initiated the organization. When people get together for the first time,
they also designate who would be the leader. A leader is in charge of
coordinating the transactions (we will see what types of transactions,
when and how), "animating" the members, keeping the group
informed, applying the service charges, etc. For this exercise, we will
refer to this leader as an account manager. Therefore, this person will be
in charge of creating and keeping accounts, like a bank.
A leader can have an
assistant who can be reached if/when the leader is not available.
Practical Learning: Designating a Leader
|
|
- Open the Participants table in Design View and add a new field between
EmailAddress and Notes. Name it IsAnAccountManager and set its Data Type to
Yes/No:
Field Name |
Data Type |
Caption |
Additional Properties |
ParticipantID |
AutoNumber |
Participant ID |
Primary Key: True |
AccountNumber |
Text |
Account # |
Field Size: 10
Indexed: Yes (No Duplicates) |
AccountDate |
Text |
Account Date |
|
FullName |
Text |
Full Name |
|
HomePhone |
Text |
Home Phone |
|
CellPhone |
Text |
Cell Phone |
|
EmailAddress |
Text |
Email Address |
|
IsAnAccountManager |
Yes/No |
Account Manager? |
Display Control: Combo Box |
Notes |
Memo |
|
|
- Save the table and fill it up with a few records:
Account
# |
Account
Date |
Full
Name |
Email
Address |
Account
Manager? |
97-395 |
06/01/2002 |
Douglas
Coulomb |
coulomd@yahoo.com |
No |
24-759 |
06/01/2002 |
Hermine
Kats |
katsh@cpasonline.net |
Yes |
29-375 |
06/01/2002 |
Tony
Peres |
perestroika@netscape.net |
No |
74-929 |
06/01/2002 |
Françoise
Nguyen |
nguyenf@monitorsystems.com |
No |
99-275 |
06/01/2002 |
Helene
Mafany |
mafanyh@emailcity.com |
No |
85-487 |
06/01/2002 |
Juanita
Klebers |
klebersj@usantabas.edu |
No |
77-597 |
06/01/2002 |
Alexander
Wayne |
waynea@hotmail.com |
Yes |
79-437 |
06/02/2002 |
Jeannine
Monay |
monayj@yahoo.com |
No |
38-685 |
06/02/2002 |
Kelley
Graham |
|
No |
93-457 |
06/02/2002 |
John
Simms |
|
No |
38-508 |
06/03/2002 |
Gabrielle
Kumar |
|
No |
35-798 |
06/05/2002 |
Jeffrey
Lamm |
|
No |
- Close the table
- Using AutoForm, generate a form based on the Participants table and
design it as you see fit:
- Save the form as Participants
The reason people get together in this organization is
to save money. To do that, they decide on the frequency they will
meet. Different factors influence this aspect, based on the number of
participants, a pledge amount and the common financial means. We have
covered the number of participants.
Probably the next decision would be on the frequency of
meetings. These people typically meet (they usually don't have to
physically meet but this issue must be decided upon, then taken care of one
way or another) every week, every two weeks, or every month. Meeting every
day is not realistic. Meeting every couple of months, every three months,
every four months, or every semester is not useful either. This frequency
should be practical to everyone because at every frequency, each member
should be able to come up with the amount of money of the next section.
The next decision may be with regards to a certain
factor of an amount of money. When people meet (once again, remember that
they don't necessarily physically meet), each one brings a certain amount
of money (if they don't physically meet, each one gives this money to the
person in charge or the assistant to this person). This amount should be neither too low nor too high but it must
be affordable to every participant. If the group is made of struggling
workers who make around $1600 to $3000 a month and they meet every two
weeks, an amount between 100 and $200 should be fine. If the group is made
of successful small business owners who meet every two weeks, an amount of
$300, $500, $750 should be enough. If the group is made of big company
executives who meet every two weeks, the amount can be higher. If the same
groups mentioned meet every week, the amount can be divided by half. If
the people in the same groups we mentioned prefer to meet once a month,
the amount of money can be either doubled or taken at 1.50 of that of the
two-week frequency mentioned above.
The Calendar of Money Remittance |
|
In case you are not familiar with this system, when the
people meet, the money each one brings is handed to one of the
participants. The next time they meet, the money brought by the participants
is given to another person. This continues until each participant has
received the money at least once. Based on this, the participants create a
calendar that specifies each one's turn. Two people can also decide to
switch turns. They would have to notify everybody and definitely the
person who is in charge of the organization.
We mentioned above that the participants don't have to
physically meet to perform the transactions. When the frequency (as every
week, every two weeks, or every month) is up, each participant can give
his or her money to a person in charge (remember that this organization is
made of people who know each other and trust is extremely important here).
This person is in charge of reaching the right recipient and giving the
pledged money.
Practical Learning: Creating a Calendar
|
|
- Open the Participants table in Design View
- Insert a new field between the IsAnAccountManager and the Notes fields
- Name it ReceptionDate with the Caption as Reception Date
Field Name |
Data Type |
Caption |
Additional Properties |
ParticipantID |
AutoNumber |
Participant ID |
Primary Key: True |
AccountNumber |
Text |
Account # |
Field Size: 10
Indexed: Yes (No Duplicates) |
AccountDate |
Text |
Account Date |
|
FullName |
Text |
Full Name |
|
HomePhone |
Text |
Home Phone |
|
CellPhone |
Text |
Cell Phone |
|
EmailAddress |
Text |
Email Address |
|
IsAnAccountManager |
Yes/No |
Account Manager? |
Display Control: Combo Box |
ReceptionDate |
Text |
Reception Date |
|
Notes |
Memo |
|
|
- Save the table and switch it to Datasheet View
- Create the calendar as follows:
Full Name |
Reception Date |
Douglas Coulomb |
09/08/2002 |
Hermine Kats |
06/30/2002 |
Tony Peres |
10/20/2002 |
Françoise Nguyen |
07/14/2002 |
Helene Mafany |
11/17/2002 |
Juanita Klebers |
08/11/2002 |
Alexander Wayne |
10/06/2002 |
Jeannine Monay |
06/16/2002 |
Kelley Graham |
11/03/2002 |
John Simms |
08/25/2002 |
Gabrielle Kumar |
07/28/2002 |
Jeffrey Lamm |
09/22/2002 |
- Save and close the table
- Open the Participants form in Design View and, using the Field List, add
the new ReceptionDate to the form between the EmailAddress and the Notes
text boxes
- Switch the form to Form View
- Save and close the form
When a participant brings his or her
money, the money is registered (sometimes the registration is simply
mental since people know each other) to keep track of who has pledged.
There can be variances. For example, suppose that the members have decided
that the regular amount to pledge is $250 every two weeks. Some time to
time, some people in the group would "fall short", that is, they
would not have the full pledged amount. In this case, they can still
contribute with the amount they have. The person receiving the money would be notified to pledge the same amount
when the other person's turn comes up. In some cases, somebody P can ask a
recipient R if he or she needs more money. If the recipient R agrees, the
participant P could pledge more than the required amount. When the
participant P's turn to receive money comes up, the other recipient R must
remember to pledge the same amount that participant P had pledged for him or her.
To keep people disciplined, the organization can also
decide that, if people are supposed to bring their money on a certain day
such as Saturday, people could be given a grace period until the next day, such
as Sunday. Anyone who brings money later than that could be charged a
penalty fee. In fact, somebody who is showing a lack of discipline, such
as somebody who is always bringing his or her money late could be asked to
"leave" before it gets worse. In this case, such a delinquent
would receive money only from those who had gotten his or her money in the past.
We mentioned earlier that two people can switch turns.
This happens if a person whose turn is not up suddenly needs money
(funeral, marriage, kid school fee, etc) and
would not like to wait. As another variance, some groups allow people to
borrow money. This is left to the participants understanding.
It is important to know that, inevitably, there can be
problems of any kind but we can't get into them...
Practical Learning: Specifying Transaction Types
|
|
- Create a new table in Design View as follows:
Field Name |
Data Type |
Caption |
Additional Properties |
TransactionTypeID |
AutoNumber |
Transaction Type ID |
Primary Key: True |
TransactionType |
|
Transaction Type |
|
Notes |
Memo |
|
|
- Save the table as TransactionTypes and fill it up as follows:
TransactionTypeID |
TransactionType |
Notes |
1 |
Deposit |
|
2 |
Reception |
|
3 |
Service
Charge |
|
4 |
Loan |
|
- Close the table
- Using AutoForm, generate a form based on the TransactionTypes table
and design it as you see fit:
- Save the form as Participants
There are two regular transactions that occur in this
organization. As mentioned already, people in this organization don't
always physically meet, although this is the routine. A person can simply
bring the money to the person in charge. The person in charge must
register the transaction by noting who brought the money and how much. As
the second most regular transaction, once the money is ready, it is handed
to the person whose turn this is. Also, if a person brings the money late,
the account manager must specify whether a penalty is applied or not.
Normally, there is a certain time decided when the recipient should
receive the money. The people in the group decide on this. For our
example, we will consider that all the money should have been collected by
Sunday at 6PM and the account manager will give the money to the
appropriate recipient by 10PM. Therefore, anybody who brings the money
after that period will suffer a penalty of $20.
Practical Learning: Setting Up Transactions
|
|
- Start a new table in Design View
- Set the first Field Name to TransactionID, its Data Type to AutoNumber,
right-click it and click Primary Key
- Save the table as Transactions
- Create the second column as follows:
Field Name: TransactionDate
Caption: Date
Default Value: =Date()
- Set the third Field Name to Processed By and set its Data Type to
Lookup Wizard
- In the first page of the Lookup Wizard, make sure the first radio button
is selected and click Next
- In the second page of the wizard, click Participants and click Next
- In the Available Tables list, double-click FullName and click Next
- In the fourth page, click Next
- In the fifth page, click Finish
- When asked whether you want to save the table, click Yes
- In the lower section of the table in Design View, change the Default
Value to 2
- Click Lookup and click the ellipsis button of the Row Source field
- To make sure that only those in charge can perform transactions, in the
first empty column, select IsAnAccountManager
- Clear the check box of its Show field and, in the corresponding Criteria
field, type True
- Close the query window
- When asked whether you want to save the statement, click Yes
- In the upper section of the table, change the name of the column from
ParticipantID to AccountManager
- Create the next column as follows:
Field Name: TransactionNumber
Data Type: Number
Caption: Trans #
Delete 0 in the Default Value
Indexed: Yes (No Duplicate)
- Set the next Field Name to Participant and set its Data Type to Lookup
Wizard
- In the first page of the Lookup Wizard, make sure the first radio button
is selected and click Next
- In the second page of the wizard, click Participants and click Next
- In the Available Tables list, double-click AccountNumber and FullName
- Click Next
- In the fourth page, click Next
- In the fifth page, click Finish
- When asked whether you want to save the table, click Yes and delete 0 in
the Default Value
- Set the next Field Name to Trans Type and set its Data Type to
Lookup Wizard
- In the first page of the Lookup Wizard, make sure the first radio button
is selected and click Next
- In the second page of the wizard, click TransactionTypes and click Next
- In the Available Tables list, double-click TransactionType and click Next
- In the fourth page, click Next
- In the fifth page, click Finish
- When asked whether you want to save the table, click Yes and change the
Default Value to 1
- Create the next column as follows:
Field Name: TransactionAmount
Data Type: Currency
Caption: Trans Amt
Default Value: 250
- Create the next column as follows:
Field Name: ServiceCharge
Data Type: Number
Caption: Service Charge
Delete 0 in the Default Value
- Set the next Field Name to Recipient and set its Data Type to Lookup
Wizard
- In the first page of the Lookup Wizard, make sure the first radio button
is selected and click Next
- In the second page of the wizard, click Participants and click Next
- In the Available Tables list, double-click AccountNumber and click Next
- In the fourth page, click Next
- In the fifth page, click Finish
- When asked whether you want to save the table, click Yes. You will receive
another warning, click OK
- Delete 0 in
the Default Value
- Change the Field Name from ParticipantID to Recipient
- Add a new column whose Field Name is Notes and Data Type is Memo
- Save the table and close it
- Using the Participants table, create a form saved as sbfParticipants
that includes the following fields: AccountDate, FullName, HomePhone,
EmailAddress:
- Save and close the sub form
- Using the Transactions table, generate an AutoForm and design it as
follows:
- Save the form as Transactions
- Switch the form back to Design View
- On the Toolbox, make sure the Control Wizard button is clicked. Click the
Subform/Subreport button and click the empty right side of the form
- In the first page of the wizard, click sbfParticipants and click Next
- In the second page of the wizard, make sure the first radio button is
selected and click Next
- In the last page, click Finish
- Change the caption of the label that was added, from sbfParticipants to Participant Contact Information
- Save and close the form
- Start a new form using the Form Wizard
- In the first page of the Form Wizard, in the Tables/Queries combo box,
select Table: Transactions
- In the Available Fields, double-click TransactionDate, TransactionNumber,
TransactionTypeID, TransactionAmount, ServiceCharge, and Recipient
- Click Next
- In the second page of the wizard, select Tabular and click Next
- In the third page of the wizard, select Standard and click Next
- In the fourth page, change the name to sbfTransactions and click
Finish
- Adjust the form's design as follows:
- Add a Text Box control to the Form Footer section and delete its label
- Change its properties as follows:
Name: txtTotalTransactions
Control Source: =Sum([TransactionAmount])
Format: Currency
- Add another Text Box control to the same Form Footer section and delete
its label
- Change its properties as follows:
Name: txtTotalCharges
Control Source: =Sum([ServiceCharge])
Format: Currency
- Position both text boxes just under the Form Footer bar and shrink them to
the lowest possible height
- Set their Visible property to No
- Also shrink the Form Footer section as much as possible
- Save and close the sub form
- Start a new form in Design View and save it as AccountRelatedTransactions
- Change the following properties
Record Source: Participants
Caption: The Associates - Account Related Transactions
Allow Edits: No
Allow Deletions: No
Allow Additions: No
- Using the Field List, add the following fields to the form: AccountNumber
and FullName
- Position the new text boxes to the upper side of the Detail section
- On the Toolbox, click the Subform/Subreport button and click the empty top
side of the form
- In the first page of the wizard, click sbfTransactions and click Next
- In the second page of the wizard, make sure the left radio button is
selected and click Next
- In the last page, click Finish
- Change the caption of the label that was added, from sbfTransactions to Account
Related Transactions
- Add a new Text Box control to the form and change its properties as
follows:
Name: txtTotalContributions
Control Source: =[Forms]![AccountRelatedTransactions]![sbfTransactions].Form!txtTotalTransactions
Format: Currency
Caption of accompanying label: Total Contributions:
- Add a new Text Box control to the form and change its properties as
follows:
Name: txtTotalCharges
Control Source: =[Forms]![AccountRelatedTransactions]![sbfTransactions].Form!txtTotalCharges
Format: Currency
Caption of accompanying label: Total Charges:
- Complete the design of the form as follows:
- Save and close the form
- Start a new form using the Form Wizard
- Use the Transactions table as source. Add the following fields:
TransactionDate, AccountManager, ParticipantID, TransactionNumber and
TransactionAmount. Set the form layout to Tabular and save it as sbfRecipients
- In the Design View, add a new Text Box in the Form Footer section and
delete its accompanying label
- Change its properties as follows:
Name: txtTotalTransactions
Control Source: =Sum([TransactionAmount])
Format: Currency
- Position the text box just under the Form Footer bar. Shrink it as much as
possible and set its Visible property to No
- Save and close the sub form
- Start a new form using the Form Wizard and based on the Participants
table. Select the following fields: AccountNumber, FullName, ReceptionDate
and Notes
- Create the form as Columnar and save it as Recipients
- In Design View, position the AccountNumber and the FullName fields in the
upper side of the Detail section. Position the ReceptionDate and the Notes
fields in the lower side of the Detail section
- On the Toolbox, click Subform/Subreport and click an empty area in the
Detail section of the form
- In the first page of the wizard, click sbfRecipients and click Next
- In the second page of the wizard, click the Define My Own radio button
- In the top-left combo box, select ParticipantID
- In the top-right combo box, select Recipient
- Click Next and click Finish
- Change the caption of the label that was added to Money Received by this Account
- Add a new Text Box to the form and change the following properties:
Name: txtAmountReceived
Control Source: =[Forms]![Recipients]![sbfRecipients].Form!txtTotalTransactions
Format: Currency
Caption of accompanying label: Amount Received:
- Complete the design of the form as follows:
- Save and close the form
- Open the Transactions form and perform a few transactions as follows:
Date |
Processed
By |
Trans
# |
Participant |
Trans
Type |
Trans
Amt |
Service
Charge |
Recipient |
06/14/2002 |
Alexander
Wayne |
11 |
97-395 |
Deposit |
$250.00 |
|
79-437 |
06/14/2002 |
Alexander
Wayne |
12 |
77-597 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
13 |
74-929 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
14 |
24-759 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
15 |
85-487 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
16 |
29-375 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
17 |
35-798 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
18 |
99-275 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
19 |
79-437 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
20 |
38-508 |
Deposit |
$250.00 |
|
79-437 |
06/15/2002 |
Hermine
Kats |
21 |
38-685 |
Deposit |
$250.00 |
|
79-437 |
06/27/2002 |
Alexander
Wayne |
31 |
93-457 |
Deposit |
$250.00 |
|
24-759 |
06/28/2002 |
Hermine
Kats |
32 |
85-487 |
Deposit |
$250.00 |
|
24-759 |
06/28/2002 |
Alexander
Wayne |
33 |
77-597 |
Deposit |
$250.00 |
|
24-759 |
06/28/2002 |
Alexander
Wayne |
34 |
79-437 |
Deposit |
$250.00 |
|
24-759 |
06/28/2002 |
Alexander
Wayne |
35 |
38-508 |
Deposit |
$250.00 |
|
24-759 |
06/28/2002 |
Alexander
Wayne |
36 |
38-685 |
Deposit |
$250.00 |
|
24-759 |
06/29/2002 |
Alexander
Wayne |
37 |
29-375 |
Deposit |
$250.00 |
|
24-759 |
06/29/2002 |
Hermine
Kats |
38 |
99-275 |
Deposit |
$250.00 |
|
24-759 |
06/29/2002 |
Hermine
Kats |
39 |
35-798 |
Deposit |
$250.00 |
|
24-759 |
06/30/2002 |
Hermine
Kats |
40 |
97-395 |
Deposit |
$175.00 |
|
24-759 |
07/01/2002 |
Hermine
Kats |
41 |
74-929 |
Deposit |
$230.00 |
|
24-759 |
07/01/2002 |
Hermine
Kats |
51 |
74-929 |
Service
Charge |
$0.00 |
$20.00 |
24-759 |
07/12/2002 |
Hermine
Kats |
52 |
97-395 |
Deposit |
$250.00 |
|
74-929 |
07/12/2002 |
Hermine
Kats |
53 |
99-275 |
Deposit |
$250.00 |
|
74-929 |
07/12/2002 |
Hermine
Kats |
54 |
85-487 |
Deposit |
$250.00 |
|
74-929 |
07/12/2002 |
Hermine
Kats |
55 |
29-375 |
Deposit |
$250.00 |
|
74-929 |
07/13/2002 |
Hermine
Kats |
56 |
79-437 |
Deposit |
$200.00 |
|
74-929 |
07/14/2002 |
Hermine
Kats |
57 |
24-759 |
Deposit |
$250.00 |
|
74-929 |
07/14/2002 |
Hermine
Kats |
58 |
38-508 |
Deposit |
$250.00 |
|
74-929 |
07/14/2002 |
Hermine
Kats |
59 |
35-798 |
Deposit |
$225.00 |
|
74-929 |
07/14/2002 |
Hermine
Kats |
60 |
77-597 |
Deposit |
$250.00 |
|
74-929 |
07/15/2002 |
Hermine
Kats |
61 |
38-685 |
Deposit |
$230.00 |
|
74-929 |
07/15/2002 |
Hermine
Kats |
62 |
38-685 |
Service
Charge |
$0.00 |
$20.00 |
74-929 |
07/15/2002 |
Hermine
Kats |
63 |
93-457 |
Deposit |
$230.00 |
|
74-929 |
07/15/2002 |
Hermine
Kats |
64 |
93-457 |
Service
Charge |
$0.00 |
$20.00 |
74-929 |
- Close the Transactions form
- Open each of the other forms to view the result
- Close the forms
|
|