Solved

Access 2007 - Issue with a combo box with dynamic row source

Posted on 2011-02-21
5
408 Views
Last Modified: 2012-05-11
I've got a form that has a combo box where the user can select a project and a sub form (continuous form) showing expenditure data for the project selected in the combo box.

On sub form is tied to the parent form on ProjectID and in the 'afterUpdate' event of the project combo box, I set the selected project of the parent form to the ProjectID in the combo box and then I requery the sub form.  So the result is that every time you change the combo box it changes the the expenditures shown in the sub form.

This works perfectly...

Now, in the sub form for each record I have 3 combo boxes and they are such that the first combo box's options are dependent upon the project selected, the second combo box's options are dependent upon the first combo box's selection, and the third combo box's options depend on the second combo box's selection.

So far I'm still working on getting the first combo box to populate correctly based on the change in project combo box in the parent form.  I've got the row source of the first combo box set to this...

SELECT tbContractProject.ContractProjectID, tbContract.Name FROM tbContractProject INNER JOIN tbContract ON tbContractProject.ContractID=tbContract.ContractID WHERE (((tbContractProject.ProjectID)=Forms!frmExpenditure!ProjectID));

And every time the user changes the value in the project combo box in the parent form, I run some vba that does a requery on the first combo box which does effectively change the options in the first combo box.  However when I then go to change one of the values in the first combo box I'm getting this message:

"The current field must match the join key '?' in the table that serves as the 'one' side of one-to-many relationship.  Enter a record in the 'one' side table with the desired key value, and then make the entry with the desired join key in the 'many-only' table."

I don't understand what this means.

Any help trying to figure out this issue would be greatly appreciated.  Thanks.
0
Comment
Question by:JosephEricDavis
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 77

Accepted Solution

by:
peter57r earned 250 total points
ID: 34944805
Do you have parent and child link fields set for your subform as well?  Is the selection from the subform combo somehow in conflict with the parent child links?

 
0
 
LVL 7

Author Comment

by:JosephEricDavis
ID: 34945116
The parent form is linked to the child form on ProjectID

The combo box is bound to a field in the child form's record source called ContractProjectID.

How could this be a conflict?
0
 
LVL 3

Expert Comment

by:DockieBoy
ID: 34949288
Are you able to upload the db
0
 
LVL 3

Assisted Solution

by:DockieBoy
DockieBoy earned 250 total points
ID: 34949313
Wild guess... sounds like a referential integrity problem.

table a requires a valid record in/from table b
0
 
LVL 7

Author Comment

by:JosephEricDavis
ID: 34951642
Doesn't seem like that is possible.  The only values I supply as options to fill are those that have values in the table that demands the referential integrity.

But no matter at this point.  I'm taking the project in a different direction to avoid this issue.

Thanks for all the help though.  I'm going to go ahead and close the question and split points between participants.
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

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

AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
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…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.

689 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