Solved

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

Posted on 2011-02-21
5
392 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
  • 2
  • 2
5 Comments
 
LVL 77

Accepted Solution

by:
peter57r earned 250 total points
Comment Utility
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
Comment Utility
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
Comment Utility
Are you able to upload the db
0
 
LVL 3

Assisted Solution

by:DockieBoy
DockieBoy earned 250 total points
Comment Utility
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
Comment Utility
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

772 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now