ش | ی | د | س | چ | پ | ج |
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 |
مایکروسافت اکسس فرم ها را به داده متصل می کند و بصورت خودکار آن داده ها ذخیره خواهند شد چه شما بین رکوردها جابجا شوید یا فرمی که در آن کار می کنید را ببندید.این عمل که بصورت خودکار انجام میگیرد خوب است بخاطر اینکه شما داده ای را از دست نخواهید داد حتی اگر بطور اتفاقی بعد از ویرایش ببندید.
اگر این عمل چیزی نیست که شما دنبالش هستید.پیشنهاد میکنم از حالت اتصال به فرم خارج کنید و خاصیت رکورد سورس را Blank بگذارید ( اگر در رکورد سورس چیزی هست پاک کنید ) سپس از کنترل هایی که با Tools می سازید استفاده کنید ( منظور از فیلدهای جدول یا منبع فرم استفاده نکنید ) و بالطبع باید برنامه نویسی برای اضافه کردن به جدول یا ویرایش یا حتی حذف آنها بکار ببرید.
انتخاب دیگر که تمایل به انجامش را داشته باشید این است که از رویداد BeforeUpdate فرم برای اینکه از کاربران بپرسند آیا میخواهند تغییرات ذخیره شود استفاده کنید
اگر نگرانی اصلی شما اضافه شدن بطور ناگهانی رکوردهای جدید است خاصیت Allow Addition را به false تنظیم کنید و رکورد جدید را بصورت برنامه نویسی شده ایجاد نمائید.
در زیر کدی نوشته شده که در سینگل فرم از کاربر می پرسد که میخواهد رکورد حاضر را ذخیره کند یا خیر اگر خیر باشد پارامتر کنسل True می شود و در نتیجه تا زمانیکه Escape را نزنید از رکورد خارج نمیشود امتحان بنمائید !
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim intAns As Integer
intAns = MsgBox("Are you sure you want to save this record?", vbQuestion + vbYesNo, "Save Record") If intAns = vbNo Then Cancel = 1
End Sub