S
Stephen
Okay, using Access 2007, I have a beginner's DB design question...
Standard stuff - for a financial management DB, in the Register, I need a
way for Payees and Transactions to be memorized so that if you type in an
existing Payee, it autofills the data from the last transaction. But I also
need it to be possible to bring up a list of all memorized payees and remove
one so that it won't be autofilled in the future (unless a new transaction
is entered, in which case, they will be eligible to be autofilled after
that).
The question is what is the best way to design for this?
As far as the Payees are concerned, while the general rule of thumb is to
not store the same data more than once, if you create a table for Payees,
and use it to lookup the Payee field in the Transactions table, then you
don't have an easy way to type in a new Payee. I want the user to be able
to type in the payee, and have the Payee field autofill the best match as
they type - but if they end up typing a completely new payee, it should
accept it as soon as they move to a new field. My understanding is that a
lookup field can't be setup to have new records added this way.
And in any case, I figure that since we're looking to memorize the other
details of a transaction anyway, that perhaps it would be best for the Payee
field to be a regular Text field (in which case, there will be a lot of
duplicate info here - but maybe that's not a big deal) and to simply include
a Yes/No field in the Transactions table for "Memorized?" to indicate if it
is marked to be memorized. But whenever a transaction is entered for a
previously entered and memorized payee, the "Memorized" field will have to
be unchecked for the prior transaction, and checked for the active one so
that the latest transaction is what will be up to be autofilled in the
future.
Somehow, it seems like I'm not seeing the best way to do this. Can anyone
supply some feedback on how I'm approaching this, and whether or not there
is a better way to design for this?
Standard stuff - for a financial management DB, in the Register, I need a
way for Payees and Transactions to be memorized so that if you type in an
existing Payee, it autofills the data from the last transaction. But I also
need it to be possible to bring up a list of all memorized payees and remove
one so that it won't be autofilled in the future (unless a new transaction
is entered, in which case, they will be eligible to be autofilled after
that).
The question is what is the best way to design for this?
As far as the Payees are concerned, while the general rule of thumb is to
not store the same data more than once, if you create a table for Payees,
and use it to lookup the Payee field in the Transactions table, then you
don't have an easy way to type in a new Payee. I want the user to be able
to type in the payee, and have the Payee field autofill the best match as
they type - but if they end up typing a completely new payee, it should
accept it as soon as they move to a new field. My understanding is that a
lookup field can't be setup to have new records added this way.
And in any case, I figure that since we're looking to memorize the other
details of a transaction anyway, that perhaps it would be best for the Payee
field to be a regular Text field (in which case, there will be a lot of
duplicate info here - but maybe that's not a big deal) and to simply include
a Yes/No field in the Transactions table for "Memorized?" to indicate if it
is marked to be memorized. But whenever a transaction is entered for a
previously entered and memorized payee, the "Memorized" field will have to
be unchecked for the prior transaction, and checked for the active one so
that the latest transaction is what will be up to be autofilled in the
future.
Somehow, it seems like I'm not seeing the best way to do this. Can anyone
supply some feedback on how I'm approaching this, and whether or not there
is a better way to design for this?