Use DataChanged with unbound controls

Use DataChanged with unbound controls

When you need to learn if a field has been changed by the user, you have at least three options:

  1. you can use a global boolean variable and set it in the control’s Change event, or
  2. you can save the original value in global variable to compare it against the current value
  3. you can use the EM_GETMODIFY message with the SendMessage API functions (only for textboxes)
There is a fourth solution that is not known to all VB programmers, and that at the same time is the simplest of them all. Differently from what the VB documentation states, the DataChanged property is perfectly functional even with unbound controls. When a form is loaded, this property is set to False, and then it is automatically set to True when the program or the user modifies the control’s contents.

This means that you can spot which fields have been modified even if you are using DAO methods without a Data Control, and even if you are not using DAO or the Jet Engine at all. Remember however that it’s up to you to reset the property value to False when you show a new set of values.

Share the Post:
data observability

Data Observability Explained

Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the

Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular