| ش | ی | د | س | چ | پ | ج |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
رویداد BeforeUpdate چه زمانی رخ خواهد داد؟ :
-فشردن دکمه Enter
-فشردن دکمه SaveRecord
-فشردن دکمه Tap
نکته : در اکسس، ویژگی TabStop تعیین میکند که آیا یک کنترل میتواند هنگام فشردن کلید Tab، فوکوس را دریافت کند یا خیر. تنظیم آن روی True (پیشفرض) اجازه میدهد تا کنترل با Tab به آن متصل شود، در حالی که False از این امر جلوگیری میکند.
-بردن فوکس به فیلد یا رکورد دیگر
-فشردن کلیدهای میانبر
و نهایتا اطلاعات آن فیلد یا رکورد به روزرسانی یا Update خواهد شد البته چنانچه Cancel = True نباشد مثال ذکر شده خود گویاست
The BeforeUpdate event occurs before changed data in a control or record is updated.
expression.BeforeUpdate (Cancel)
expression A variable that represents a Form object.
تابع DlookUp :
جهت بازیابی یا گرفتن مقدار یک فیلد خاص از یک مجموعه رکورد مشخص شده
DLookup( expr, domain [, criteria] )
expr : can include the name of a field in a table, a control on a form , a constant , or a function
Domain : an expression,table or a query
مثال :
فرمی با نام Products حاوی کنترل تکست باکسی است که ProductName نامیده می شود.
شرح رویداد :
در داخل آن از دو تابع IsNull و DlookUp استفاده شده اولی در صورت Null بودن با نبودن True یا False را برمی گرداند و دومی کار جستجو در فیلد [ ها ی ] یک جدول یا کوئری را انجام میدهد و به اولین مورد که برخورد آنرا بازیابی میکند. تابع Dlookup با توجه به شرط داده شده یعنی برابری متن داخل تکست باکس و فیلد ProductName از جدول Products جوابی را بر میگرداند. و تابع Not IsNull هم چک میکند اگر جواب Null نبود پیام این محصول از قبل وجود داشته را نمایش میدهد و شما تا زمانیکه محصولی که در فیلد مربوطه جدول نیست را نزنید اجازه Update را نمیدهد حتی اگر خروج کنید .
Private Sub ProductName_BeforeUpdate(Cancel As Integer)
If(Not IsNull(DLookup("[ProductName]", _
"Products", "[ProductName] ='" _
& Me!ProductName & "'"))) Then
MsgBox "Product has already been entered in the database."
Cancel = True
Me!ProductName.Undo
End If
End Sub