Solved

Additional Design Help

Posted on 2011-09-20
10
215 Views
Last Modified: 2012-08-13
Experts,
I thought that I had a working solution yesterday but if I did I don't see it. Here's my need:
Customer make loans
Each loan has a status, e.g. Open, Closed, Bankruptcy, etc.
Each status can have more than one reason, e,g, Bankruptcy, Chapter 7, or Chapter 11. I want to associate only that reason against the corresponding LoanStatus so people can not pick the wrong reason for a loan status (there can be multiple reasons against one LoanStstus.)
In my tblLoans the fields I'm interested in are:
LoanStatusID (fk)
ReasonForStatus (fk)
How can I build this?
0
Comment
Question by:Frank Freese
  • 5
  • 3
  • 2
10 Comments
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 36568143
You simplest way is to create a table (tbl_Status_Reason) that contain two columns (Status and Reason) and contains all of the accepted combinations of Status and Reason.

Then, on your form, you use a query that looks like the following for a the Status combo box on your form.  This combo box would be bound to the Status field in your primary data table.

SELECT Distinct STATUS from tbl_Status_Reason

Then, the query that would be the RowSource of your Reason combo box would look something like the following:

SELECT Reason FROM tbl_Status_Reason WHERE [Status] = Forms!yourMainForm.cbo_Status

Finally,  in the After Update event of cbo_Status, you would requery the combobox cbo_Reason, so that it only displays the acceptable value for the selected Status.  That code would look something like:

Private sub cbo_Status_AfterUpdate

    me.cbo_Reason.Requery
    me.cbo_Reason = NULL

End Sub
0
 

Author Comment

by:Frank Freese
ID: 36568277
Let's take a look at the structure:
tblLoan                              LoanStatusReasonID (fk)
tblLoanStatusRdeason     LoanStatusReasonID (pk)
                                          LoanStatusID (fk)
                                          LoanReasonID (fk)
tblLoanStatus                    LoanStatusID (pk)
                                          LoanStatus
tblLoanReason                  LoanReasonID (pk)
OK?
                                          LoanReason
0
 
LVL 15

Expert Comment

by:David L. Hansen
ID: 36568407
Will all the reasons be "canned" predefined reasons or will they be unique comments make by the user (or some mixture of the twoi?
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 

Author Comment

by:Frank Freese
ID: 36568416
each reason will be independent of the status, though you may have the same reason twice.
0
 
LVL 47

Accepted Solution

by:
Dale Fye (Access MVP) earned 450 total points
ID: 36568428
You could do it that way, although then you would only need a single combo cbo_StatusReason, that would join tblLoanStatusReason, tblLoanStatus, and tbl_LoanReason and would have two fields (LoanStatusReasonID, and a combination of LoanStatus and LoanReason).

I would normally do it by putting fields for both LoanStatusID and LoanReasonID in tblLoan.  I generally prefer to keep the two field separate in the main data table, and only use the linking table to associate the Status with appropriate Reasons.
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 36568446
did you mean "reasons will be dependent on status"?

If they are independant of one another than you can associate any reason with any status and don't need tblLoanStatusReason.
0
 

Author Comment

by:Frank Freese
ID: 36568506
I understand your suggesrtion this way:
tblLoan
    LoanStatusID (from the table tblLoanStatusReason as fk)
    LoanReasonID (from the table tblLoanStatusReason as fk)

Then the table tblStatusReason looks like this:
LoanStatusID (here the data comes from the table tblStatus)
LoanReasonID (here the data comes from the table tblReason)

I'd then create an unique index on LoanStatusID and LoanReasonID in the table tblStatusReason

same page?
0
 

Author Comment

by:Frank Freese
ID: 36568674
actually, I have to associate a status with a particular reason. For example, if the status of the loan was Collections, I do not want to associate Collections with Chapter 7, with is a type of Bankruptcy
0
 
LVL 15

Assisted Solution

by:David L. Hansen
David L. Hansen earned 50 total points
ID: 36568766
tblCustomer
-Cust_ID (pk)

tblLoan
-Loan_ID (pk)
-Cust_ID (fk)

tblStatusLog
-Loan_ID (fk)
-Status_ID (fk)
-Reason (fk)
-Date_of_Status
-Comment

tblStatus
-Status_ID (pk)

tblReason
-Reason_ID (pk)
0
 

Author Closing Comment

by:Frank Freese
ID: 36569478
thanks
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
type of query 11 42
Launch app from Access custom ribbon 8 33
How Do I Select a Record using a Primary Key 3 30
Dcount using a date in a table compared to today's date 3 30
Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
Phishing attempts can come in all forms, shapes and sizes. No matter how familiar you think you are with them, always remember to take extra precaution when opening an email with attachments or links.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question