فیلدهای اجباری

پر کردن تکست باکسها را ضروری کنید!!

فیلدهای اجباری

خیلی وقتها نیاز داریم که حتما کاربر اطلاعات خواسته شده رو تکمیل کنه ، معمولا برنامه نویسان با گذاشتن یک ستاره در کنار کپشن به کاربر یادآوری می کنند که وارد کردن این فیلد اجباری است .

روش اول اجباری کردن مقدار در جداول

شما می توانید در هنگام طراحی جداول اگر وارد کردن مقدار در فیلدی برایتان ضروری بود گزینه 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 را وارد نمائید.

خاصیت Tag در اکسس

5- حالا کافیست در رویداد Before Update فرم و یا در رویداد On click  ذخیره سازی ، تابع ایجاد شده را فراخوانی کنید  ( عبارت زیر را بنویسید) .

OfficebazReq

توضیح کارکرد ماژول و استفاده از Tag در اکسس

در کدهای بالا در واقع به اکسس میگوییم که اگر فیلدی همزمان هم خالی بود و هم Tag آن برابر با Star بود ، پیغام مناسبی نمایش بده و از ادامه جریان جلوگیری بکن تا زمانی که فیلدهای مورد نظر مقدار داشته باشند .

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

8 دیدگاه دربارهٔ «پر کردن تکست باکسها را ضروری کنید!!»

  1. سلام جناب بحری
    مطالب بالا جهت نتیجه گرفتن کامل نیست
    چراکه تابع روهیچ جافراخوان نکردین که بررسی کنه کدام فیلد خالیه یا پر ودرنتیجه هیچ پیغامی نمیده

    1. کاملا حق باشماست فراموش کرده بودم ، مطلب اصلاح شد.
      در واقع در رویداد مورد نظر فقط باید خط زیر را بنویسید.

      OfficebazReq

  2. سلام آقای بحری
    در فرمی می خواهیم یه سری اطلاعات رو ذخیره کنیم از این تابع جهت بررسی خالی بودن فیلد ها استفاده می کنیم اگر بود تابع عمل می کنه در غیر اینصورت اطلاعات باید دخیره بشناین رو چور به تابع باید بگیم.

  3. سلام.وقت به خیر.جناب بحری اگر بخواهیم فیلدی رو در اکسس پر کردنش رو اجباری کنیم به شرطی که فیلد قبل گزینه ی خاصی باشه باید چه کنیم؟من فیلدی دارم که یک لیست کشویی هست.در صورتی که از لیست گزینه ی “الف” انتخاب بشه فیلد بعد برای تکمیلش اجباری باشه در غیر اینصورت اجباری برای تکمیل فیلد بعد که البته اون هم لیست کشویی هست وجود نداشته باشه.

  4. با سلام
    تمامی مراحلی که در بالا توضیح داده بودید انجام شد اما اکسس پیغام خطا مبنی بر اینکه اکسس نمیتواند OfficebazReq را پیدا کند را می دهد.
    در صورت امکان راهنمایی فرمایید.
    با سپاس

  5. rezasalahshour.98

    سلام
    اگه بخواهیم در یک تکست باکس داده وارد کنیم و تکست باکس کناری پر باشد ، باید چه دستوری بدیم که تکست باکس پر است و باید خالی شود

پیمایش به بالا