همه آنچه که درباره لاگین فرم و مراحل ایجاد آن در اکسس می خواهید بدانید
لاگین فرم یا به انگلیسی Login Form یکی از انواع فرم هایی می باشد که امروز می خواهیم بطور مفصل در خصوص آن با همدیگر صحبت کنیم.
اول ببینیم که یک لوگین فرم چه فرمی هست و قرار است ما چه استفاده ای از آن در اکسس بکنیم .
نمی دانم چقدر با اصطلاح لاگین فرم آشنا هستید اما مطمئنا تا به حال به دفعات با آن سر و کار داشته اید .
لاگین فرم اصطلاحی است که به فرم های ورود اطلاق می شود .
همان فرم های ورودی که وقتی که شما می خواهید وارد برخی از نرم افزارها شوید در ابتدای کار از شما نام کاربری تان را می خواهد و در قدم بعدی هم از شما می خواهد که پسورد یا همان گذرواژه خود را وارد کنید .
حال اگر این اطلاعات را به درستی وارد کنید برنامه اجازه دسترسی به بخش های مختلف خود را به شما می دهد .
اما کافی است که در وارد کردن یکی از این آیتم ها دچار خطا شوید .
فرقی نمی کند که این خطا عمدی باشد یا سهوی .
چون در هر دو صورت برنامه اجازه رفتن به مراحل بعدی را به شما نمی دهد .
خوب امروز ما هم می خواهیم برای نرم افزار اکسس خود یک چنین فرمی را ایجاد کنیم .
یعنی یک فرم دارای دو تکست باکس که وقتی کاربر بر روی نرم افزار اکسس کلیک کرد به جای اینکه مستقیم وارد برنامه ما شود اول این فرم برای او به نمایش درآید .
در مرحله بعد که کاربر اطلاعات خواسته شده در این فرم را تکمیل کرد می تواند اجازه دسترسی به فایل ما را داشته باشد .
خوب ما در اینجا می خواهیم یک همچنین فرمی را ایجاد نمود و البته در ساختار فرم خود از قابلیت های متعددی استفاده کنیم تا هم ظاهر فرم ما کاملا حرفه ای بنظر برسد و هم اینکه از لحاظ کارایی فرم ما در بلاترین حد از عملکرد خود قرار بگیرد
برای ایجاد یک فرم ورودی یا همان لاگین فرم باید سه مرحله کلی را پشت سر بگذاریم .
مرحله اول : ایجاد یک جدول برای ثبت اطلاعات مربوط به ورود کاربر
مرحله دوم : ایجاد و طراحی فرم مربوط به ورود کاربر
مرحله سوم: کد نویسی برای اعتبارسنجی و بررسی اطلاعات وارد شده توسط کاربر.
پس با ما همراه باشید تا با هم به بررسی این موارد بپردازیم
مرحله اول: ایجاد و طراحی جدول برای ذخیره اطلاعات کاربران
در اولین قدم از کار خود باید یک جدول را در محیط اکسس ایجاد کنیم .
هدف از ایجاد یک چنین جدولی این است که اطلاعات مربوط به نام کاربری و گذرواژه مربوط به هر کاربر را دریافت نموده و در جدول ذخیره کنیم .
حالا وقتی که کاربر اطلاعات مربوط به ورود را در فرم لاگین برنامه ثبت می کند برنامه این اطلاعات را با اطلاعاتی که از قبل در این جدول ذخیره شده است می کند و در صورت انطباق مقادیر ورودی اجازه ورود به کاربر را می دهد .
در اینجا جدول ما متشکل از دو فیلد خواهد بود .
یک فیلد مربوط به دریافت و ذخیره نام کاربری .
یک فیلد هم مربوط به دریافت و ذخیره گذرواژه یا همان پسورد .
تصویر زیر نمای جدول مذکور را در نمای طراحی نمایش می دهد .
و اما تصویر زیر هم نمایی از جدول فوق را در حالی نمایش می دهد که برخی از اطلاعات فرضی را در آن وارد کرده ایم .
نام جدول فوق را نیز tbl-login در نظر می گیریم .
پس تا به اینجا اولین مرحله را با موفقیت به سرانجام رساندیم .
حالا باید برویم به سراغ مرحله دوم که همان طراحی و ایجاد فرم مورد نظر برای دریافت اطلاعات کارگران در بدو ورود کاربران است .
مرحله دوم: ایجاد و طراحی فرم مربوط به لاگین فرم
در اینجا باید یک فرم را طراحی کنیم تا با استفاده از آن بتوانیم اطلاعاتی را از کاربر دریافت کنیم .
بر روی این فرم امکانات و قابلیت های متعددی را می توان قرار داد که در جای خود به آنها خواهیم پرداخت .
اما در قدم اول به سراغ خود فرم می رویم .
در مرحله اول فرم خود را به شکل زیر طراحی نموده و اشیای مربوطه را در داخل آن قرار می دهیم .
حالا یک نگاهی به این فرم و اشیای موجود در آن می کنیم .
در قدم اول یک تکست باکس برای دریافت نام کاربری در فرم خود قرار داده ایم .
برای این تکست باکس نام txtuser را در نظر می گیریم .
در کنار این تکست باکس ما تکست باکس دیگری داریم برای دریافت گذرواژه از سمت کاربر.
برای این تکست باکس هم نام txtpass را در نظر می گیریم .
در انتها هم یک دکمه داریم که عنوان این دکمه را “ورود ” تعیین و برای آن نام btnenter را در نظر گرفته ایم .
البته در مورد خود این فرم هم باید بگویم که نام frmlogin را برای آن در نظر می گیریم .
اما قرار است این اشیا چه کاری را برای ما انجام دهند .
کل ماجرا به قرار زیر است .
کاربر بر روی آیکون مربوط به برنامه ما کلیک می کند .
بلافاصله فرم ورود به کاربر نمایش داده می شود .
از کاربر خواسته می شود که فیلدهای مربوط به نام کاربری و گذرواژه را تکمیل کند .
بعد از این کار کاربر بر روی دکمه “ورود” کلیک می کند .
برنامه این اطلاعات را با اطلاعات موجود در جدول tbl-login تطبیق می دهد .
در صورت تائید اطلاعات به کاربر اجازه ورود به برنامه داده می شود و در غیر اینصورت مانع از ورود و دسترسی وی به برنامه می شود .
تا به اینجای کار جدول مورد نظر به همراه فرم مربوط ه را ایجاد کردیم .
حالا می رویم به سراغ مرحله بعد که مرحله مربوط به کدنویسی VBA است .
مرحله سوم : درج کدهای VBA
این مرحله مهمترین بخش از کار ما را تشکیل می دهد .
ما با استفاده از برنامه نویسی می خواهیم کار کنترل اطلاعات و بررسی صحت انها را با هم مورد بررسی قرار دهیم .
پس با هم وارد این مرحله شده و قدم به قدم پیش می رویم تا در انتها یک فرم کاملا حرفه ای را ایجاد کنیم .
روال کاری ما این است که ابتدا کاربر نام کاربری و گذرواژه خود را وارد می کند .
سپس بر روی دکمه ورود کلیک می کند .
به محض کلیک بر روی این دکمه کدهای ما مرحله به مرحله اجرا می شود .
ما باید در اینجا حالت ها و احتمالات متعدد را در نظر گرفته و برای هر کدام از آنها پیش بینی های لازم را در کد های خود در نظر بگیریم .
خوب برای حالت اول بیایید در نظر بگیریم که کاربر بدون اینکه اطلاعات لازم را وارد کند بر روی دکمه ورود کلیک کند .
حالا ما باید برنامه را برای این حالت آماده کنیم و کدهای لازم را برای اجرا در اختیار برنامه قرار دهیم .
خوب برای این کار وارد رویداد On click دکمه خود می شویم و کدهای زیر را در آن درج می کنیم .
()Private Sub Command5_Click If IsNull(Me.txtlogin) Or Me.txtlogin = "" Then "لطفا نام کاربری را وارد کنید" MsgBox End If End Sub
ما در اینجا دو چیز را برای برنامه تعیین کردیم .
در خط شماره دو تعیین کرده ایم که اولین چیزی را که برنامه باید کنترل کند این است که آیا اصلا کاربر مقداری را در باکس مربوط به نام کاربری وارد کرده است یا خیر ؟
خوب برای این کار از برنامه می خواهیم که وضعیت تکس باکس مربوطه را از لحاظ خالی بودن و یا حتی Null بودن کنترل کند .
در صورتی که هر کدام از موارد بالا اتفاق افتاده باشد با استفاده کدهای خط بعدی از برنامه می خواهیم که به کاربر یک کادر پیغام را نمایش دهد .
حالا بیایید قابلیت های دیگری را به همین تکست باکس خود اضافه کنیم .
بعنوان مثال از برنامه بخواهیم که بعد از اینکه کادر پیغام مورد نظر ما به کاربر نمایش داده شد و کاربر بر روی دکمه OK کلیک کرد نشانگر ماوس در داخل تکس باکس مربوط به نام کاربری قرار گیرد و برای اینکه توجه کاربر را بیشتر جلب کنیم رنگ پس زمینه تکست باکس مربوطه را نیز به رنگ زرد درآوریم .
خوب برای ا ین کار کدهای مربوط به خطوط شماره ۷ و ۹ را به مجموعه کدهای قبلی خود اضافه می کنیم .
Private Sub Command5_Click() If IsNull(Me.txtlogin) Or Me.txtlogin = "" Then "نام کاربری را وارد کنید" MsgBox Me.txtlogin.SetFocus Me.txtlogin.BackColor = vbYellow Exit Sub Else Me.txtlogin.BackColor = vbWhite End If End Sub
در خط ۱۱ از برنامه می خواهیم که در صورت خالی ماندن تکست باکس از سوی کاربر از ادامه کار منصرف شده و کدهای بعد را اجرا نکند .
اما در غیر اینصورت یعنی اگر که کاربر مقداری را در باکس مربوط به نام کاربری وارد کرده باشد اولین کاری که
از برنامه می خواهیم که انجام دهد این است که رنگ پس زمینه کادر مربوط به نام کاربری را به رنگ سفید درآورد حالا با ید به سراغ کادر مربوط به پسورد خود نیز برویم و مشابه همین کارها را نیز با استفاده از کدهایی مشابه در برنامه پیاده کنیم .
در زیر می توانید کدهایی را که برای ا ین منظور در نظر گرفته ایم را مشاهده کنید.
()Private Sub Command5_Click If IsNull(Me.txtlogin) Or Me.txtlogin = "" Then "لطفا نام کاربری خود را وارد کنید" MsgBox Me.txtlogin.SetFocus Me.txtlogin.BackColor = vbYellow Exit Sub Else Me.txtlogin.BackColor = vbWhite End If If IsNull(Me.txtpass) Or Me.txtpass = "" Then "لطفا گذرواژه خود را وارد کنید" MsgBox Me.txtpass.SetFocus Me.txtpass.BackColor = vbYellow Exit Sub Else Me.txtpass.BackColor = vbWhite End If End Sub
بسیار خوب تا به اینجا به کمک کدهای برنامه نویسی توانستیم کنترل کنیم که آیا کاربر مقادیر مورد نظر را در کادرهای مربوطه وارد کرده است یا خیر .
در مرحله بعدی می خواهیم به اعتبار سنجی اطلاعات وارد شده بپردازیم.
یک پیشنهاد خواندنی جالب : می دانید یکی از ایتم هایی که در داخل لوگین فرم ها خیلی به کار می آید پروگرس بارها یا نوارهای پیشرفت هستند ؟
اگر دوست دارید در خصوص نحوه نوارهای پیشرفت در اکسس همه چیز را بدانید پس مطلب نوار پیشرفت یا progress bar در اکسس را را چطور ایجاد کنیم از دست ندهید
اعتبار سنجی اطلاعات وارد شده در لوگین فرم
در این مرحله کاربر اطلاعات را وارد کرده و بر روی دکمه مورد نظر کلیک کرده است .
حالا می خواهیم این اطلاعات را با اطلاعات ذخیره شده در جدول tbllogin مطابقت دهیم تا در صورت یکسان بودن این اطلاعات اجازه دسترسی را به کاربر بدهیم .
اول کنترل می کنیم که آیا همچین نام کاربری در بین کاربران مجاز ما وجود دارند یا خیر .
برای این منظور در ادامه کدهای قبلی خود از کدهای زیر استفاده می کنیم .
_ &"'=If Me.txtlogin.Value = DLookup("username", "tbl-login", "username Me.txtlogin.Value & " ' ") And _"'=Me.txtpass.Value = DLookup("userpassword", "tbl-login", "userpassword & Me.txtpass.Value & " ' ") Then "خوش آمدید"MsgBox Else "نام کاربری یا گذرواژه نادرست است دوباره امتحان کنید"MsgBox End If End Sub
ما در اینجا برای بررسی اعتبار آنچه که کاربر در تکست باکس های مربوطه وارد کرده است از تابع کاربردی DLookup استفاده کردیم .
این تابع یکی از توابع بسیار مهم و کاربردی در اکسس است که قبلا در همین سایت راجع به آن مفصل با هم صحبت کردیم .
اگر می خواهید کار با این تابع را بصورت تخصصی یاد بگیرید توصیه می کنم مطلب زیر را دنبال کنید .
خوب در اینجا با استفاده از کدهای بالا برسی کردیم که ایا نام کاربری و گذرواژه ای که کاربر وارد کرده است از نظر ما مجاز به دسترسی به این برنامه هست یا نه.
و برای هر دو حالت یعنی چه کاربر اطلاعات را بصورت درست وارد کرده باشد یا و چه اطلاعات نادرست باشد پیغام های مناسبی را به کاربر نمایش می دهیم .
حالا باید در ادامه برای هر دوی این شرایط کد نویسی کنیم .
اول حالتی را در نظر می گیریم که اطلاعات وارد شده از سوی کاربر نادرست است .
بررسی شرایط ورود اطلاعات نادرست از سوی کاربر
در حالت عادی وقتی که کاربر اطلاعات را بصورت نادرست وارد می کند این امکان را دارد که مجددا و برای دفعه دوم نیز اطلاعات خود را در کادرهای مربوطه وارد کرده و برای ورود تلاش کند .
اما تا چه زمانی و به چه تعدادی قرار است کاربر این شانس را در اختیار داشته باشد که بتواند اطلاعات خود را وارد کند .
نظرتان چیست که تعداد دفعات ورود اطلاعات را از سوی کاربر محدود کنیم .
مثلا کاری کنیم که کاربر بعد از اینکه سه بار اطلاعات مورد نظر را وارد کرد و در هر سه بار نیز اطلاعات اشتباه از کار درآمد دیگر امکان وارد کردن اطلاعت را برای همیشه از کاربر بگیریم .
خوب برای این کار می توانیم از کدهای زیر استفاده کنیم .
If counter > 3 Then "شما بیشتر از ۳ تلاش ناموفق داشته اید بنابراین از برنامه خارج می شوید "MsgBox DoCmd.CloseDatabase End If
ما در اینجا تعداد دفعات ورود کاربر را محدود به سه بار کرده ایم .
یعنی اگر کاربر برای سه بار متوالی اطلاعات نادرست را وارد کند دیگر برنامه اجازه ادامه کار را به وی نمی دهد و بطور خودکار برنامه بسته خواهد شد.
بررسی شرایط ورود اطلاعات درست از سوی کاربر
خوب وقتی که کاربر اطلاعات درست را وارد کرد چه اتفاقی باید بیفتد .
در قدم اول که یک پیغام خوش آمد گویی به کاربر نمایش داده می شود .
اما در قدم بعدی هم که کاربر می تواند به بخش های مختلف برنامه ما دسترسی پیدا کند.
اما در اینجا باید یک نکته بسیار مهم را هم مد نظر قرار دهیم و آن هم این است که باید کاری کنیم که وقتی کاربر وارد برنامه ما می شود قبل از اینکه به سایر بخش های برنامه ما دسترسی پیدا کند اول باید این فرم برای او به نمایش گذاشته شود .
خوب در اینجا باید یک سری از تنظیمات را برای فرم خود انجام دهیم.
برای اینکه فرم ما بعنوان فرم ورودی به کاربر نمایش داده شود باید از سربرگ File بر روی گزینه Option کلیک کرده و در پنجره ای که بصورت زیر باز می شود از کمبوی مربوط به Form Display نام فرم خود را که در اینجا frmlogin است را انتخاب کنیم .
تنظیمات دیگری که باید انجام دهیم این است که در کادر مربوط به property sheet تنظیمات مشخص شده زیر را برای فرم خود انجام دهیم .
آخرین کاری هم که باید برای این لاگین فرم انجام دهیم این است که در رویداد On Close مربوط به فرم خود کد زیر را بنویسیم.
Private Sub Form_Close() DoCmd.CloseDatabase End Sub
با این کار اگر کاربر بر روی دکمه Close فرم کلیک کند بطور کلی از برنامه خارج خواهد شد
افزودن قابلیت مشاهده و یا مخفی نمودن پسورد ها
می خواهیم قابلیت جدیدی را به فرم ورود خود اضافه کنیم .
حتما در خیلی از سایت ها مشاهده کرده اید که در کنار باکس مربوط به ورود گذرواژه ها یک آیکون بصورت چشم وجود دارد .
در حالت عادی کاراکترهایی را که وارد می کنید مشاهده نمی کنید .
اما وقتی که بر روی این آیکون کلیک می کنید می توانید کاراکترهایی را که وارد می کنید را مشاهده کنید .
در اینجا می خواهیم همین قابلیت را برای فرم خود ایجاد کنیم .
برای این کار باید مراحل زیر را دنبال کنید .
اول نیاز به دو آیکون زیر داریم . این آیکونها را به راحتی می توانید از اینترنت دریافت کنید .
حالا این آیکون ها را به محیط فرم خود اضافه کرده و آنها را در کنار کادر مربوط به گذرواژه خود قرار می دهیم .
فقط باید دقت کنیم که آیکون با نام imgview بر روی آیکون دیگر قرار بگیرد و کاملا آن را بپوشاند .
در مرحله بعد باید به سراغ کد نویسی مربوط به عملکرد این دو آیکون شویم .
در قدم اول رویداد مربوط به On load فرم خود را انتخاب کرده و کدهای زیر را در آن را وارد کنید.
()Private Sub Form_Load Me.imgshow.Visible = True Me.imghide.Visible = False End Sub
با این کار باعث می شویم که با باز شدن فرم ما تصویر مربوط به imgshow به حالت پیدا و تصویر دیگر به حالت مخفی درآید .
.
این مطلب در دست تکمیل است………………………………..
ما در اینجا توانستیم یک فرم لاگین فرم یا فرم ورود را برای خود تنظیم کنیم.
بنظر شما چه امکانات دیگری را می توان به این لاگین فرم اضافه کرد .
نظرات خود را راجع به این مطلب با ما در میان بگذارید .
مطالب زیر را حتما مطالعه کنید
ساخت برچسب در اکسس💥چطور آنها را ایجاد و مدیریت کنیم ؟
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
باز کردن گزارش اکسس برای یک رکورد مشخص + نمونه فایل
5 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
با سلام ممنون از سایت خوبتون خیلی عالی توضیح دادید بنظرم امکان تغییر رمز ورود رو هم روی فرم لاگین بزارید
پیشنهاد خوبی است به زودی اعمال خواهد شد
توضیحاتتون خیلی روان و گویاست چرا دوره آموزش اکسس جامع و پیشرفته با تمرکز بر روی vba و sql ارائه نمی دید مطمئنم که استقبال خوبی می شه.
باسلام با شکر از مطالبتون من هرکاری کردم نشد فرم ورود رو اجرا کنم به برنامه نویسیم گیر میده txtlogin چی هست در کد نویسی؟
سلام txtlogin فقط یک اسم ساده است در واقع اسم همون تکس باکسی است که قراره کاربر نام کاربری خودش رو وارد کنه