Microsoft Access, Running custom code when a row is added in a table.

I have a table with a table relationship to a parent table which is a list of items and checkboxes associated with those items, and want to check the parent table and alert me if I try to select an item from the parent table when a specific checkbox is selected in that item's row. How do I do this?
OAC TechnologyProfessional NerdsAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Rey Obrero (Capricorn1)Commented:
better upload a copy of your db to avoid too much code posting..
OAC TechnologyProfessional NerdsAuthor Commented:
I can't upload my database.
Rey Obrero (Capricorn1)Commented:
oh well, wait for somebody who have a crystal ball to guess what you have in your db.
Protecting & Securing Your Critical Data

Considering 93 percent of companies file for bankruptcy within 12 months of a disaster that blocked access to their data for 10 days or more, planning for the worst is just smart business. Learn how Acronis Backup integrates security at every stage

Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:

<<oh well, wait for somebody who have a crystal ball to guess what you have in your db.>>

  That's not a helpful comment.


  Not quite clear on what it is your trying to do exactly.  JET/ACE does not have table level triggers unless you use 2010 and a macro.

 In general, checking is done in a BeforeUpdate event of a form.  This is the event that occurs just before a record is written out.  It is a cancelable event, so you can stop the save if something is going on that you don't like.

AfterUpdate occurs after the current record has been saved, and this is your shot to do something accordingly.

 If that doesn't get you going, outline in a little more detail what the situation is.

OAC TechnologyProfessional NerdsAuthor Commented:
Ok, I figured out how to make a dialog box pop up in the form, and it cancels properly.
I have a table called "Company", with a column called "Company", and a check box column which is called "ON HOLD". If the "ON HOLD" check box for a Company is selected, I want the dialog box to pop up.
The form I'm working with is linked to a different table, with a relationship to the Company table to get its data.
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
<< I want the dialog box to pop up.>>


OAC TechnologyProfessional NerdsAuthor Commented:
As soon as a company with the check box checked is selected.
Table 1 looks like this:
|Company | On Hold |
|   name     | checked |

Table 2 is different, but it references Table 1 to get the Company names. If the check box in Table 1 is checked I want to get the message box. My form created off of Table 2.
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
If I'm understanding you correctly, the event you would want is OnCurrent.  OnCurrent fires whenever a new record gets the focus.

As for the check, you could use Dlookup() to return the field or open a recordset to find the record in table 1 and get the field value.

Some other events that might be helpful:

BeforeInsert - Occurs when you press a key in the new record, but before the record is actually created.

AfterInsert - Occurs after the new record has been added.  

 Note that the order of events on a new record are:

BeforeInsert > BeforeUpdate > AfterUpdate > AfterInsert

  and yes, that's correct, AfterInsert occurs after  the AfterUpdate event.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
One thing that's always good to do when your not sure what event to use is keep a spare form bound to a simple table.  In each event, put a STOP, message box, or print to the debug window something like "just hit afterupdate".

Then do the operation your trying to do and look at what you hit or see in the debug window.

 Doing that with reports is a real eye opener!

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.