چطور متن ها را در داخل اکسس اعتبار سنجی کنید +ویدئو
سلام . امیدوارم که خوب و خوش باشید؛ به سافت پلاس و یکی دیگر از سری مطالب مربوط به آموزش اکسس خوش آمدید . امروز می خواهیم راجع به سراغ اعتبار سنجی داده های متنی در اکسس با هم صحبت کنیم .
اینکه اصلا اعتبار سنجی داده متنی هست ؟
چرا باید متن ها را در اکسس اعتبار سنجی کنید ؟
و اینکه برای اعتبار سنجی متن ها در اکسس چه کار هایی باید انجام داد .
من علیرضا شهرآئینی هستم و از شما می خواهم که تا پایان با من همراه باشید تا همه آنچه که در مورد این موضوع به آن نیاز دارید را در اختیار شما قرار بدهم .
اینجا سافت پلاس و مبنای همه آموزش هایی که در این سایت ارائه می شود بر مبنای سادگی است .
پس با من همراه باشید .
فهرست محتوا
منظور از اعتبار سنجی داده های متنی در اکسس چی هست؟
داده ها یا همان دیتا تیاپ ها در اکسس که معرف حضورتان هستند و با آنها آشنایی کامل دارید . اینکه دیتا تایپ چی هست ، کجا می شود از آنها استفاده کرد و قرار است با دیتا تایپ ها در اکسس چه کاری انجام داد چیزی نیست که بخواهیم در این مطلب راجع به آن صحبتی کنیم .
با این وجود اگر می خواهید اطلاعات کامل تری نسبت به این موارد داشته باشید به شما مطلب انواع داده ها در اکسس و آشنایی با کاربرد آنها را پیشنهاد می دهم.
آنجا مفصل راجع به ماهیت دیتا تایپ ها و روش های مختلفی که می شود از آنها استفاده کرد صحبت کرده ام .
اما اینجا و در این مطلب می خواهیم روی اعتبار سنجی داده های نوع متنی در اکسس با هم صحبت کنیم .
منظور از اعتبار سنجی این است که وقتی از یک کاربر اطلاعاتی را در قالب یک فرم یا جداول اکسس می خواهید دریافت کنید به نحوی مطمئن شوید که کاربرتان دقیقا اطلاعات مورد نظر شما را وارد اکسس می کند .
مثلا فرض کنید که از کاربر خواسته اید که کد ملی خودش را در داخل یک فیلد از فرم شما وارد کند .
شما می دانید که کد ملی یک عدد 10 رقمی است .
حالا از کجا می خواهید مطمئن شوید که کاربر به اشتباه به جای 10 رقم 11 رقم وارد نکند .
برای اینکه از این کار مطمئن شوید باید حالت های مختلف را در نظر بگیرید و برای هر کدام از آنها راهکاری را تعریف کنید . در این مطلب هم ما می خواهیم حالت های مختلف را برای وارد کردن اطلاعات در نظر گرفته و برای هر کدام راهکار های مناسب را تعریف کنیم .
پس برویم به سراغ این راه و روش ها .
یک مطلب خواندنی دیگر : چطور مانع از کپی شدن اطلاعات در اکسس شویم ؟
کجاها و چطوری می شود داده های متنی را اعتبار سنجی کرد ؟
هر جایی که شما از کاربرتان اطلاعاتی را دریافت می کنید همانجا هم می توانید آن اطلاعات را صحت سنجی کنید .
اما کجاها شما از کاربرتان اطلاعات می توانید اطلاعات بگیرید ؟
1- در داخل جدول ها
2- در داخل فرم ها
هر چند که توصیه می شود که تا جایی که امکان دارد اصل جدول های خودتان را برای وارد کردن اطلاعات در اختیار کاربران قرار ندهید اما بنا به هر دلیل اگر ناگزیر از این کار هستید می توانید کار اعتبار سنجی اطلاعاتی که کاربر در جدول مورد نظر شما وارد می کند را در داخل همان جدول انجام بدهید .
اما برویم به سراغ روش های اعتبار سنجی اطلاعات در داخل جدول ها
صحت سنجی اطلاعات متنی در داخل جدول ها
بیایید همه چیز را با مثال شروع کرده و با مثال هم پیش ببریم .
فرض کنید که یک جدولی دارید که در داخل آن اطلاعات مربوط به افراد را ذخیره می کنید .
یکی از این اطلاعات مربوط به کد ملی هر فرد است .
حالا بیایید حالت های مختلف را در نظر بگیریم .
1 : چطور مطمئن شویم که کاربر فیلد کد ملی را خالی نگذارد .
اگر فیلد کد ملی برایتان خیلی مهم است و نمی خواهید از جانب کاربرتان خالی از اطلاعات باقی بماند چند راه در پیش دارید .
1- اولین راه این است که فیلد کد ملی را به صورت کلید اولیه تعریف کنید . اینطوری اکسس به هیچ وجه به کاربر اجازه نمی دهد که بدون وارد کردن کد ملی بخواهد به سراغ فیلد بعدی برود .
به تصویر زیر نگاه کنید .
وقتی که کاربر شما فیلد مربوط به کد ملی را خالی بگذارد با یک همچین پیغامی روبرو می شود .
پس با این روش می شود از خالی نماندن فیلد کد ملی مطمئن شد .
اما یک مشکل دیگر هم هست و آن هم اینکه اگر کاربر به جای 10 رقم حتی 5 رقم هم وارد کند به راحتی از سد این مانع می گذرد .
چون تا اینجا برای اکسس مهم است که فیلد کد ملی خالی از اطلاعات نباشد . اما اینکه حتما باید این فیلد با 10 رقم پر نشود ، نه کمتر و نه بیشتر چیزی است که هنوز برایش تعریف نکرده ایم .
برای این کار باید به سراغ مرحله بعدی برویم .
درست است که کد ملی فقط شامل اعداد است اما چون قرار نیست روی آن محاسبات انجام شود بهتر است آن را در قالب متن ذخیره کنید .
2 : چطور مطمئن شویم که کاربر حتما 10 رقم را در فیلد کد ملی وارد کند .
برای این کار باید در محیط طراحی جدول خودتان به بخش Field Property رفته و در قسمت Validation Rule این عبارت را بنویسید .
like "##########"
در ساختار بالا هر علامت # نشان دهنده یک رقم است . و چون اینجا 10 بار از این علامت استفاده شده اینطوری اکسس متوجه می شود که در داخل این فیلد باید یک عدد 10 رقمی وارد شود .
اما اگر کاربر این قانون را رعایت نکند اکسس با این پیغام جلوی کارش را می گیرد .
اما این پیغام یک ایراد بزرگ هم دارد . آن ایراد این است که کاربر متوجه می شود که یک جای کار را اشتباه کرده است اما اینکه کجا و چه اشتباهی مرتکب شده است را نمی تواند متوجه شود .
برای اینکه کاربر را از این سردرگمی نجات بدهیم یک راه حل ساده وجود دارد که در ویدئوی ابتدای همین صفحه راجع به آن صحبت کرده ام .
چطور مطمئن شویم که کاربر فقط از حروف فارسی استفاده می کند ؟
توی یک جدول خیلی از ستونها هستند که برای پر کردن اطلاعات آنها فقط و فقط باید از حروف الفبا استفاده شود .
مثلا در ستونی که قرار است نام افراد یا نام خانوادگی آنها درج شود کاربر نیاز ندارد و اصلا نباید از اعداد استفاده کند.
حالا ما باید کاری کنیم که اکسس این تشخیص را بدهد که آیا کاربر از کاراکترهای غیر مجاز ( که اینجا همان اعداد و ارقام هستند ) استفاده می کند یا نه ؟
برای این کار باید از ساختار زیر در قسمت validation Rule استفاده کنید .
Not Like "*[! ا-ی]*"
اینطوری اکسس به کاربرتان اجازه نمی دهد از هیچ کاراکتر دیگری به غیر از حروف الفبای فارسی برای پر کردن اطلاعات در ستون مورد نظر استفاده کند .
یا بر عکس فیلدی دارید که می خواهید کاربر در داخل آن فقط از حروف انگلیسی بتواند استفاده کند می توانید این ساختار را برایش در نظر بگیرید .
Not Like "*[! A-z]*"
اینطوری خیلی راحت می توانید کاربر را کنترل کنید تا مانع از وارد کردن اطلاعات نادرست در داخل جداول خودتان بشوید .
چطور تعداد حروف را برای کاربر محدود کنیم ؟
بعضی وقت ها یک فیلد را در اختیار کاربر قرار می دهید تا در داخل آن اطلاعاتی را در قالب متن و حروف الفبا وارد کند .
اما همزمان لازم می شود که کاربر را از لحاظ تعداد حروفی که می تواند وارد کند محدود کنید .
برای این کار می توانید از ساختار زیر کمک بگیرید .
Like "???"
این ساختار یک محدودیت 3 کاراکتری را برای کاربر تعیین می کند و کاربر نمی تواند بیشتر از 3 تا کاراکتر را در داخل این فیلد وارد کند .
اما این ساختار یک ایراد مهم دارد .
درست است که کاربر به لحاظ تعداد کاراکترها محدودیت دارد اما از لحاظ نوع کاراکترها هیچ محدودیتی ندارد . برای اینکه بهتر متوجه این موضوع شوید به مثال های زیر نگاه کنید .
شهر
شه3
256
شهری
دیدگاهتان را بنویسید