ببخشید میشه با یه مثال برای من توضیح دهید .
مرسی
فرض کنیم یک کاربر user1 و یک کاربر user2 داریم که اولی با سطح دسترسی 1 مجوز چاپ گزارش را دارد و
دومی با سطح دسترسی 2 مجوز اینکار را ندارد. همچنین فرض کنیم که دکمه Command1 همان دکمه ای است
که اگر رویش کلیک شود، عملیات چاپ گزارش قرار است صورت بگیرد.
اصولا نام کاربری و رمز عبور در یک فایل یا بانک اطلاعاتی بصورت رمزی و کدگذاری شده ذخیره می شود تا
امکان مشاهده آن به سادگی میسر نباشد، اما در این مثال ساده ما فرض می کنیم که این دو کاربر در داخل کد
برنامه تعریف شده اند.
فرض کنیم زمانی که یک کاربر قصد ورود به برنامه را داشت، بایستی نام کاربری اش را در کنترل TextBox ای
با نام Text1 و رمز عبورش را در Text2 وارد کرده و روی دکمه Command2 کلیک کند تا مجوز دسترسی به او
داده شود. ما سطح دسترسی 0 را برای مهمان در نظر می گیریم که مجوز هیچ عملی را ندارد.
پس در ابتدای کد های فرم، یک متغیر عمومی به نام
Level از نوع عددی Long تعریف می کنیم که سطح
دسترسی کاربر را مشخص می کند که مقدار پیشفرض اش در ابتدای برنامه 0 است (یعنی کاربر مهمان) :
کد:
Dim [B]Level[/B] As Long
Private Sub Form_Load()
[B]Level[/B] = 0
End Sub
حال فرض کنیم که تابع PrintReport همان تابعی است که عملیات چاپ گزارش را انجام می دهد، ما بایستی
برای دکمه Command1 کدی بنویسیم که اگر رویش کلیک شد و سطح دسترسی کاربر (Level) برابر 1 بود،
آن تابع PrintReport را اجرا کند، وگرنه پیغام عدم سطح دسترسی کافی را نمایش دهد :
کد:
Private Sub Command1_Click()
If Level = 1 Then
PrintReport
Else
MsgBox "Insufficient permission to perform requested operation."
End If
End Sub
اکنون برنامه در این شرایط همواره Level ای برابر با 0 را بکار می گیرد، پس بایستی برای دریافت نام کاربری و
رمز عبور کد کلیک کردن روی دکمه Command2 را هم اضافه کنیم :
کد:
Private Sub Command2_Click()
If Text1.Text = "user1" And Text2.Text = "password1" Then
Level = 1
ElseIf Text1.Text = "user2" And Text2.Text = "password2" Then
Level = 2
Else
MsgBox "Invalid username or password."
End If
End Sub