برنامه ریزی و کنترل پروژه کاربردی › انجمن ها › آموزش های کوتاه اکسس › اجبار به پرکردن فیلد خاص و نمایش پیغام فارسی
برچسب ها: Access
این پست شامل 0 پاسخ ، و دارای 1 کاربر است ، و آخرین بار توسط مهندس بیات در 8 ماه، 2 هفته پیش بروز شده است.
اجبار به پرکردن فیلد خاص و نمایش پیغام فارسی
مهندس بیات 2019-04-01 در 12:47 ق.ظ #6909
اجبار به پرکردن فیلد
اجبار به پرکردن فیلد : وقتی که یک جدول را طراحی می کنیم ممکن است لازم باشد تا کاربران را مجبور به پر کردن یک یا چند فیلد کنیم. در واقع در صورتی که کاربر اطلاعات آن ستون را وارد نکرد امکان ذخیره سازی آن رکورد وجود نداشته باشد و کاربر را با یک پیام از این مسأله آگاه کنیم. خوب چطور باید این کار را انجام دهیم؟ اینجاست که بایستی با استفاده از امکانات برنامه نویسی اکسس پیشرفته در محیط VBA دست بکار شویم و کارخواست خود را در آن محیط پیاده سازی کنیم.
ابتدا یک جدول طراحی کنید و فیلدهای زیر را در درون آن ایجاد کنید:
Nam از نوع Short Text
Famil از نوع Short Text
NationalId یا همان کد ملی از نوع Number
tel یا همان شماره تلفن از نوع Short Text
address یا همان آدرس از نوع Short Text
حالا به ترتیب وضعیت Required فیلد ها را بشکل زیر پر کنید:
No
No
YES
YES
NO
در واقع با انجام این حرکت ما وضعیت دو فیلد NationalId و Tel را بنحوی تنظیم کردیم که از طریق آن کاربر ملزم به وارد کردن اطلاعات در درون آنها باشد و در صورتی که از این مسأله تخطی کرد ، نرم افزار مانع از ذخیره سازی اطلاعات در آن فیلد گردد. سایر فیلد ها هم حالت اختیاری خواهند داشت البته میتوانستیم آن ها را هم به حالت اجبار در آوریم اما در این مثال صرفأ به اجباری کردن این دو فیلد بسنده کردیم.
در ادامه لازم است تا یک فرم از روی جدول طراحی شده بسازید و سپس از محیط طراحی فرم وارد رویداد On Error شوید و کدهای زیر را در درون آن کپی کنید:
Visual Basic1234567891011121314151617181920212223Const conErrRequiredData = 3314Const conErrNotSavedData = 2169If DataErr = conErrRequiredData ThenMsgBox ("درج اطلاعات در اين فيلد اجباري است")If IsNull(Me.NationalId) ThenMe.NationalId.SetFocusMe.NationalId.BackColor = vbYellowElseIf IsNull(Me.tel) ThenMe.tel.SetFocusMe.tel.BackColor = vbYellowEnd IfResponse = acDataErrContinueElseIf DataErr = conErrNotSavedData ThenMsgBox ("داده ذخيره نشد")Response = acDataErrContinueElseResponse = acDataErrDisplayEnd Ifدر مراحل بعدی ابتدا وارد رویداد AfterUpdate مربوط به فیلد NationalId در روی فرم شوید و کد زیر را در درون آن قرار دهید:
Visual Basic1Me.NationalId.BackColor = vbWhiteدر آخر وارد رویداد AfterUpdate مربوط به فیلد Telدر روی فرم شوید و کد زیر را در درون آن قرار دهید:
Visual Basic1Me.tel.BackColor = vbWhite
انجمن ‘آموزش های کوتاه اکسس’ برای جستار ها و پاسخ ها جدید بسته است.