Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 286773
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T05:40:00+00:00 2026-05-12T05:40:00+00:00

I’ve heard on the grapevine that the forthcoming Access2010 has a Data Macros feature

  • 0

I’ve heard on the grapevine that the forthcoming Access2010 has a Data Macros feature which will for the first time add trigger-like functionality to Access data engine tables. Does anybody have an further details on this? For example, can they created in code (ACEDAO, SQL DDL, etc)? Does the Data Macro run if the data is modified from outside of the Access user interface e.g. via ODBC, OLE DB, etc?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T05:40:00+00:00Added an answer on May 12, 2026 at 5:40 am

    Ok, a bit more information.

    Does the Data Macro run if the data is modified from outside of the Access user interface e.g. via ODBC, OLE DB, etc?

    Yes it does.

    These true triggers are at the data engine level. So, using ado, dao or even editing the tables in table view in ms-access means the triggers will fire. These triggers would also include the scenario where you don’t even have ms-access installed on your computer.

    You will of course need JET installed (for the remainder of this article I will use the term ACE). Remember it was only in access 2007 that the access team received ownership of JET. They are now free to enhance this engine for their needs. We started to see some changes to ACE in 2007 and now we will see a LOT more changes for 2010. Some of these features are still NDA for me…but I will spill as much as I can here.

    For example, can they created in code (ACEDAO, SQL DDL, etc)?

    In code, perahps, but not with SQL ddl. The triggers are not sql commands. Keep in mind that for Oracle, or Sql server or MOST systems in the marketplace they all tend to have their OWN custom language for their triggers anyway.

    In the new ACE you thus will write what is called a data macro. You use the macro editor in ms-access. These are old fashioned access macros, but the editor has been completely re-done. The new macros also have subroutines, looping, if then else blocks and a type of recordset. Remember, we received the ability to create temp variables in 2007 macros. In 2010 this is extended to also include local variables and above new features.

    The syntax for existing macro commands is the same as previous versions. However, we have a new slick IDE along with all those above cool commands added. We now thus have two types of macros. UI macros (regular as before) and now the new so called data macros. It would not make sense for a table level macro to be able to display error messages to the screen. So any error logged goes into a table. There also a few new logging commands that let you write your own custom errors to that table . A brilliant and simple design here. Here what that error log table looks like:

    alt text
    (source: kallal.ca)

    In a world of huge IDE’s, massive frame works and horrifying huge libraries of code requited to update a simple row in a table, I can say that data macros are most refreshing feature. They feel much like how the original dbaseII works. They are very simple, but deadly power full because they run at the table level.

    For example, here is a data macro that will maintain inventorying totals a table. In this example I’m going to assume that master inventory records exist. And then we have an order details table. If a user edits any value in the orders table, we want the master table to automatic update the inventory levels.

    So we have:
    I have two tables

    tblFruits:    main data fruit inventory table
    id         (autonumber)
    Fruit text
    OnHand    (number value of fruit in inventory)
    
    tblFruitsOrder
    id       (autonumber)
    Fruit_id (FK to tblFruts.ID)
    QtyOrder (number of fruit to order)
    

    This is simple test

    So, we going to have a trigger in the tblFruitsOrder that will update
    + maintain inventory levels in tblFruits when the QtyOrder field is
    edited or modified.

    Here is what the macro looks like:

    alt text
    (source: kallal.ca)

    Note how very simple the above is. Note that in the IDE if you click on a section of the code, then you get the old style macro type editing in which you can enter the values for the command (this is similar to pre 2010, but now the parameters and editing occurs in the code, not a panel that appears on the bottom of the screen in previous versions).

    Here is another screen shot in which I playing with the ability to do a loop and call a subroutine.

    alt text
    (source: kallal.ca)

    In the above we can use msgboxs etc. because this is not a table level macro. So the commands available are automatically restricted for you when you writing a table level macro as opposed to a regular macro. The terminology we adopted to distinguish the two types of macros are UI macros and data macros.

    The above is about all I can speak about in pubic. However there is few more REALLY neat-o features about these macros that I simply can not yet talk about in public as I am still under NDA on those features. But there is more cool surprises to come here.

    Here is a screen shot of the types of table triggers we have:

    alt text
    (source: kallal.ca)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 212k
  • Answers 212k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer WITH rows AS ( SELECT cat_id, prod_name, parent_cat_id FROM mytable… May 12, 2026 at 10:23 pm
  • Editorial Team
    Editorial Team added an answer ISPs are the least of your worries. You'll also have… May 12, 2026 at 10:23 pm
  • Editorial Team
    Editorial Team added an answer Here's what I ended up with, which works very nicely:… May 12, 2026 at 10:23 pm

Related Questions

I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I have a French site that I want to parse, but am running into
I have text I am displaying in SIlverlight that is coming from a CMS
I want use html5's new tag to play a wav file (currently only supported

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.