۷ تابع کاربردی برای اعتبار سنجی داده ها در VBA

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

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

 با اصطلاحی تحت عنوان اعتبار سنجی که آشنایی دارید .آن چیزی که ما از آن در زبان فارسی تحت عنوان اعتبار سنجی اسم می بریم در دنیای اکسس از آن تحت عنوان Validation Rule اسم می برند .

پس هر موقع و در هر جا که به این اصطلاحی به نام  Validation Rule مواجه شدید به خوبی می دانید که منظور همان اعتبار سنجی است .

اما منظور از خود کلمه  اعتبار سنجی چیست ؟ یا اجازه بده که اینطور بپرسم که عبارت اعتبار سنجی اشاره به چه مفهومی می کند؟ 

خوب ما در اکسس با چه چیزی سرو کار داریم ؟ درست است داده ها یا همان چیزی که از آن تحت عنوان Data  اسم می بریم . من  یا شما داده ها را وارد نرم افزار اکسس خود میکنیم . 

 یکی از دغدغه هایی که همیشه برای یک طراح بانک اطلاعاتی وجود داشته ؛ وجود دارد و در آینده هم وجود خواهد داشت این است که کاربر همان اطلاعاتی را وارد یک فرم یا جدول کند که برنامه انتظارش را دارد .

یعنی اگر در یک فرم تکس باکسی داشته باشیم که قرار است کاربر کد ملی خود را در آن وارد کند برای ما مهم است که کاربر فقط عدد و آن هم تا ۱۰ رقم را در این تکس باکس وارد کند .

یا اگر در یک تکس باکس از کاربر می خواهیم که اسم خود را وارد کند می خواهیم مطمئن شویم که کاربر از اعداد در این تکس باکس  استفاده نکند .

خوب بنظر شما برای انجام این کارها چه باید کرد ؟ باید بالای سر کاربر بایستیم تا مطمئن شویم که همان اطلاعاتی را وارد می کند که ما می خواهیم . یا از کاربر خواهش و تمنا کنیم که همان چیزی را وارد کند که ما می خواهیم ؟

جواب هیچ کدام از این موارد نیست . جواب این سوال استفاده از اعتبار سنجی است . جواب این مساله همان Validation Rule است .

اما من که از مفهوم هر چیز صحبت کردم  اجازه بدهید که کمی هم در خصوص مفهوم کلمه یا عبارت اعتبار سنجی با هم صحبت کنیم .

مفهوم اعتبار سنجی دقیقا در خود این عبارت نمایان است . اعتبار سنجی یعنی سنجش اعتبار چیزی  و آن چیز در اینجا داده هایی است که قرار است از طرف کاربر وارد برنامه ما شود . 

در واقع کاری که  می خواهیم انجام دهیم  این است که در بدو ورود اطلاعات به اکسس کنترل کنیم که آیا اطلاعاتی که کاربر در حال وارد کردن آنهاست از نظر ما معتبر هست یا نه ؟ 

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

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

اعتبار سنجی داده ها

عین همین داستان  را  ما در برنامه نویسی VBA  هم داریم . در برنامه نویسی هم خیلی از اطلاعات را ما از کاربران دریافت می کنیم .

می خواهیم به نحوه اعتبار سنجی داده ها در برنامه نویسی VBA  بپردازیم . برای این کار هم از یکسری از توابع داخلی موجود در خود زبان برنامه نویسی وی بی ای استفاده خواهیم کرد .

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

پس از شما دعوت می کنم که تا پایان این آموزش را دنبال کنید .

اعتبار سنجی داده ها

استفاده از توابع داخلی برای اعتبار سنجی متن ها

برای شروع کار فرم زیر را در نظر بگیرید .

 

اعتبار سنجی داده ها

 

ما در این فرم یک تکس باکس داریم که قرار است کاربر در این تکس باکس برای ما یک آدرس ایمیل را وارد کند .حالا می خواهیم به طریقی مطمئن شویم که کاربر آدرس ایمیل خود را بصورت صحیح در این کادر وارد کرده است. 

برای این کار یک دکمه بر روی این فرم داریم که به محض کلیک کردن بر روی آن از برنامه می خواهیم که دو کار را برای ما انجام دهد .

اول اینکه کنترل کند که اطلاعات وارد شده در بخش های مختلف این فرم به درستی برای ما وارد شده است . دوم اینکه اگر این اطلاعات درست بود که اطلاعات مورد نظر را در برنامه ما ذخیره کند .

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

۱- اطمینان از ورود آدرس ایمیل در کادر مربوطه 

در قدم اول می خواهیم مطمئن شویم که آیا اصلا کاربر اطلاعاتی را برای ما در تکس باکس مربوط به دریافت ایمیل  وارد کرده است یا نه ؟ برای این کار از کدی مانند کد زیر استفاده می کنیم .

در اینجا برای کنترل تکس باکس مربوط به آدرس ایمیل از تابع IsNull  استفاده کردیم .  این تابع دو خروجی دارد . خروجی اول true  خواهد بود در صورتی که کاربر هیچ مقداری را در کادر مربوطه وارد نکرده باشد . 

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

اگر خروجی این تابع True  بود یعنی کاربر اطلاعاتی را در کادر مربوطه وارد نکرده است پس در ادامه کادر پیغام به کاربر نمایش داده می شود و این قضیه به اطلاع کاربر خواهد رسید .

۲- استفاده از تابع ISDATE 

این تابع برای مواقعی به کار می آید که ما می خواهیم از کاربر یک تاریخ را دریافت کنیم و برای اینکه مطمئن شویم که کاربر این مقدار را به دستی وارد کرده است می توانیم از این تابع کمک بگیریم. 

به عنوان مثال به کدهای زیر نگاه کنید .

 در اینجا با استفاده از تابع Is Date  مقدار ورودی از طرف کاربر  را  کنترل می کنیم. اگر این مقدار درست بود که هیچ . اما اگر مقدار نادرست بود یک پیغام به کاربر نمایش خواهیم داد . 

۳- آشنایی با  تابع ISNumber 

تابع Isnumber  همانطور که از نامش پیداست کنترل می کند که آیا داده ای را که کاربر در تکس باکس مورد نظر وارد کرده است یک عدد است یا نه ؟ اگر مقدار ورودی عدد نبود آنگاه به کاربر یک پیغام مناسب داده خواهد شد .

برای مثال به کدهای زیر نگاه کنید

 

در اینجا هم در صورتی که کاربر مقداری به غیر از یک عدد را وارد کرده باشد برنامه بطور خودکار پیغامی را برایش نمایش می دهد .

۳- آشنایی با  تابع Left

تابع Left  یکی دیگر از توابعی است که با استفاده از آن می توانیم به اعتبار سنجی داده های ورودی از طرف کاربر بپردازیم .

فرض کنید یک تکس باکس داریم که می خواهیم در ان از کاربر شماره موبایل را دریافت کنیم . خوب می دانیم که تمامی شماره های موبایل با پیش شماره  ۰۹  شروع می شود . 

حالا می خواهیم کنترل کنیم که کاربر حتما شماره ای را که وارد می کند شامل این دو رقم در سمت چپ باشد . برای این کار از کدهایی مانند کد زیر استفاده می کنیم .

در اینجا با استفاده از این تابع مطمئن می شویم  که کاربر شماره موبایل خود را حتما با پیش شماره ۰۹ وارد کند . در غیر اینصورت طی یک کادر پیغام به کاربر اطلاع رسانی می شود .

این مطلب به تدریج تکمیل می شود . 

اعتبار سنجی داده ها

برنامه نویسی VBA بازدید : 246 views 17 اکتبر, 2020 ۰