1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

بستن دکمه شیفت Shift در اکسس

شروع موضوع توسط minaaa ‏10/12/11 در انجمن Assembly

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    در این یادداشت روش غیرفعال کردن دکمه Shift به هنگام باز شدن فایلهای اکسس را توضیح خواهم داد . در ابتدا باید مقدمه ای را عنوان کنم.​
    مقدمه
    مطلب زیر در زمینه افزایش امنیت سیستم ها است. نکته ای که در زمینه امنیت هر نوع سیستمی باید به آن توجه داشت اینست که بطور کلی امنیت یک امر نسبی است .
    بعبارت دیگر یک راه حل امنیتی ، قطعا جلوی بسیاری از حملات علیه سیستم را خواهد گرفت ولی هیچگاه بطور کامل حملات را خنثی نخواهد کرد و همیشه حفره های امنیتی وجود خواهند داشت .
    در یادداشت قبل گفتیم که به هنگام باز شدن فایلهای اکسس، Startup اجراء می شود . به کمک گزینه های Startup می توانیم از دسترسی کاربران به محیط طراحی برنامه جلوگیری کنیم . ولی همانطور که قبلا گفته شد میکرو سافت با انگیزه ایجاد سیستم امنیتی چند مرحله ای یک روش ضد امنیتی برای آن ایجاد کرده است و کاربران برنامه ما می توانند با پایین نگه داشتن دکمه Shift از اجراء Startup جلوگیری کنند و وارد محیط طراحی شوند . حال اگر بخواهیم دکمه شیفت را غیر فعال کنیم تا کسی نتواند وارد محیط طراحی شود باید به این طریق عمل کرد :

    استفاده از خاصیت AllowByPassKey
    خاصیت
    AllowByPassKey یکی از خواص شیء Database است که:
    اگر مقدار آن
    True باشد دکمه شیفت فعال است .
    و اگر مقدار آن
    False باشد دکمه شیفت غیر فعال است .
    این خاصیت عملا در لیست خواص یک Database نیست و باید آنرا فقط برای اولین بار ایجاد (Create) کرد . بعد از ایجاد آن می توان مقدار آنرا False یا True کرد .

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

    سه دکمه روی یک فرم مطابق شکل بالا ایجاد کنید و کدهای زیر را در آن بنویسد.
    (نمایش کدهای نوشته شده مناسب نیست ولی اگر آنرا در حافظه کپی کنید و در ماجول فرمتان کپی کند بدرستی تمایش داده می شود .)[/FONT]
    ​
    ‘برای اولین دفعه :
    Private Sub Create_Click()
    On Error GoTo Er

    Dim db As Database
    Dim prp As Property
    Set db = CurrentDb
    Set prp = db.CreateProperty(“allowbypasskey“, dbBoolean, False)
    db.Properties.Append prp
    db.Close

    Ex:
    Exit Sub
    Er:
    If Err.Number = 3367 Then
    MsgBox “این خاصیت ایجاد شده و لازم نیست مجددا ایجاد شود”
    End If
    Resume Ex

    End Sub

    ‘جهت غیر فعال کردن شیفت
    Private Sub ShiftNo_Click()
    Dim db As Database
    Set db = CurrentDb
    db.Properties(“allowbypasskey”) = False
    db.Close
    End Sub

    ‘جهت فعال کردن شیفت
    Private Sub ShiftOk_Click()
    Dim db As Database
    Set db = CurrentDb
    db.Properties(“allowbypasskey“) = True
    db.Close
    End Sub
    ​