خیلی وقتها نیاز داریم که حتما کاربر اطلاعات خواسته شده رو تکمیل کنه ، معمولا برنامه نویسان با گذاشتن یک ستاره در کنار کپشن به کاربر یادآوری می کنند که وارد کردن این فیلد اجباری است .
روش اول اجباری کردن مقدار در جداول
شما می توانید در هنگام طراحی جداول اگر وارد کردن مقدار در فیلدی برایتان ضروری بود گزینه Required را روی Yes تنظیم نمائید .
ولی این روش پیشنهاد نمیشود ، چرا که هر جا از این فیلد استفاده نمائید ، کاربر ملزم به پر کردن آن خواهد بود .
روش دوم ، استفاده از Tag برای تکست باکسهای ضروری
در این روش نیازی به تنظیمات در زمان طراحی جداول نیست و فقط باید مراحل زیر را دنبال کنید .
1- یک ماژول خالی در برنامه خود ایجاد کرده و کدهای زیر را درون آن قرار دهید.
Public Sub OfficebazReq() 'Officebaz.ir Dim ctrl As Control Dim Msg As String Msg = ChrW(1604) & ChrW(1591) & ChrW(1601) & ChrW(1575) & " " & _ ChrW(1575) & ChrW(1591) & ChrW(1604) & ChrW(1575) & ChrW(1593) & _ ChrW(1575) & ChrW(1578) & " " & ChrW(1585) & ChrW(1575) & " " & _ ChrW(1578) & ChrW(1705) & ChrW(1605) & ChrW(1740) & ChrW(1604) & " " & _ ChrW(1606) & ChrW(1605) & ChrW(1575) & ChrW(1574) & ChrW(1740) & _ ChrW(1583) & "." For Each ctrl In Screen.ActiveForm If ctrl.Tag = "star" And Not IsNull(ctrl) Then ctrl.BackColor = vbWhite If ctrl.Tag = "star" And IsNull(ctrl) Then ctrl.BackColor = vbYellow ctrl.SetFocus MsgBox Msg, vbMsgBoxRight + vbInformation, "Officebaz.ir" Exit Sub End If Next ctrl End Sub
2- هر کدام از فیلدها که برایتان ضروری است را انتخاب کنید .
3- به تب Other در خصوصیات فیلد بروید .
4- در قسمت Tag گزینه star را وارد نمائید.
5- حالا کافیست در رویداد Before Update فرم و یا در رویداد On click ذخیره سازی ، تابع ایجاد شده را فراخوانی کنید ( عبارت زیر را بنویسید) .
OfficebazReq
توضیح کارکرد ماژول و استفاده از Tag در اکسس
در کدهای بالا در واقع به اکسس میگوییم که اگر فیلدی همزمان هم خالی بود و هم Tag آن برابر با Star بود ، پیغام مناسبی نمایش بده و از ادامه جریان جلوگیری بکن تا زمانی که فیلدهای مورد نظر مقدار داشته باشند .
سلام جناب بحری
مطالب بالا جهت نتیجه گرفتن کامل نیست
چراکه تابع روهیچ جافراخوان نکردین که بررسی کنه کدام فیلد خالیه یا پر ودرنتیجه هیچ پیغامی نمیده
کاملا حق باشماست فراموش کرده بودم ، مطلب اصلاح شد.
در واقع در رویداد مورد نظر فقط باید خط زیر را بنویسید.
OfficebazReq
سلام آقای بحری
در فرمی می خواهیم یه سری اطلاعات رو ذخیره کنیم از این تابع جهت بررسی خالی بودن فیلد ها استفاده می کنیم اگر بود تابع عمل می کنه در غیر اینصورت اطلاعات باید دخیره بشناین رو چور به تابع باید بگیم.
سلام جناب بحری
پکیج آموزش اکسس برای نوروز 99 در سایت موجود نیست
سلام متاسفانه فرصت تهیه اون پکیج به اتمام رسید
سلام.وقت به خیر.جناب بحری اگر بخواهیم فیلدی رو در اکسس پر کردنش رو اجباری کنیم به شرطی که فیلد قبل گزینه ی خاصی باشه باید چه کنیم؟من فیلدی دارم که یک لیست کشویی هست.در صورتی که از لیست گزینه ی “الف” انتخاب بشه فیلد بعد برای تکمیلش اجباری باشه در غیر اینصورت اجباری برای تکمیل فیلد بعد که البته اون هم لیست کشویی هست وجود نداشته باشه.
با سلام
تمامی مراحلی که در بالا توضیح داده بودید انجام شد اما اکسس پیغام خطا مبنی بر اینکه اکسس نمیتواند OfficebazReq را پیدا کند را می دهد.
در صورت امکان راهنمایی فرمایید.
با سپاس
سلام
اگه بخواهیم در یک تکست باکس داده وارد کنیم و تکست باکس کناری پر باشد ، باید چه دستوری بدیم که تکست باکس پر است و باید خالی شود