Solved

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

Posted on 2011-02-21
5
398 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
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

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

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

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
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…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

776 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