سطح دسترسی متفاوت برای هر کاربر

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

    سطح دسترسی متفاوت برای هر کاربر

    سلام
    ی فرم درست کردم که هر کاربر بر حسب تعریف سطح دسترسی خاص خودشو داره
    مثلا این نمونه کد
    کد:
    If ComboBox1.Column(0) = "[COLOR=#008000]ADMIN[/COLOR]" ThenSheet1.Visible = xlSheetVisible
    [COLOR=#008000]Sheet2.Visible = xlSheetVisible
    Sheet3.Visible = xlSheetVisible
    Sheet1.Select[/COLOR]
    Application.Windows.Application.Visible = True
    End
    
    
    ElseIf ComboBox1.Column(0) = "[COLOR=#0000cd]A[/COLOR]" Then
    
    [COLOR=#0000cd]
    Sheet2.Visible = xlSheetVisible
    [/COLOR][COLOR=#0000cd]Sheet2.Select
    [/COLOR]End
    اینجا کاربر admin به هر 3 تا شیت دسترسی داره و کاربر A فقط شیت 2
    از طرفی من ی کد دارم که کاربرد دو کلید del و backspace رو از شیت ها غیرفعال میکنه

    حالا سوالم اینه ایا راهی هست که این کد غیر فعال کردن دکمه برای کاربر a فعال باشه؟ و برای Admin تاثیری نداشته باشه؟
    [CENTER]
    [/CENTER]
  • Amir Ghasemiyan

    • 2013/09/20
    • 4595
    • 100.00

    #2
    نوشته اصلی توسط absorkhi
    سلام
    ی فرم درست کردم که هر کاربر بر حسب تعریف سطح دسترسی خاص خودشو داره
    مثلا این نمونه کد
    کد:
    If ComboBox1.Column(0) = "[COLOR=#008000]ADMIN[/COLOR]" ThenSheet1.Visible = xlSheetVisible
    [COLOR=#008000]Sheet2.Visible = xlSheetVisible
    Sheet3.Visible = xlSheetVisible
    Sheet1.Select[/COLOR]
    Application.Windows.Application.Visible = True
    End
    
    
    ElseIf ComboBox1.Column(0) = "[COLOR=#0000cd]A[/COLOR]" Then
    
    [COLOR=#0000cd]
    Sheet2.Visible = xlSheetVisible
    [/COLOR][COLOR=#0000cd]Sheet2.Select
    [/COLOR]End
    اینجا کاربر admin به هر 3 تا شیت دسترسی داره و کاربر A فقط شیت 2
    از طرفی من ی کد دارم که کاربرد دو کلید del و backspace رو از شیت ها غیرفعال میکنه

    حالا سوالم اینه ایا راهی هست که این کد غیر فعال کردن دکمه برای کاربر a فعال باشه؟ و برای Admin تاثیری نداشته باشه؟
    سلام. بله امكان پذيره
    كافيه يك if بذارين و بگين مثلا اگر يوزري كه وارد شده ادمين بود اين كارها رو انجام نده و goto به خط بعد از دستورات غير فعال كردن دكمه ها
    البته راه هاي رسيدن به خدا چي؟زياده!

    کامنت

    • ali.b

      • 2014/01/12
      • 798

      #3
      استاد عزیز ممنونم
      اما ی سوال
      خدا تو راه های رسیدنش احیانا نگفته واسه بنده خنگی مثل من یه مثال هم بزنین (*_^)؟؟؟
      [CENTER]
      [/CENTER]

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4595
        • 100.00

        #4
        نوشته اصلی توسط absorkhi
        استاد عزیز ممنونم
        اما ی سوال
        خدا تو راه های رسیدنش احیانا نگفته واسه بنده خنگی مثل من یه مثال هم بزنین (*_^)؟؟؟

        من كه چيزي در اين خصوص نديدم

        من جاي شما باشم براي اينكه كارم حرفه اي تر باشه يك فانكشن تعريف ميكنم اينطوري:
        کد:
        Function keylock(Optional value As Boolean)
        If value Then
            key lock codes
        Else
            key unlock codes
        End If
            
        End Function

        کامنت

        • ali.b

          • 2014/01/12
          • 798

          #5
          این کد قفل کلید
          کد:
          Private Sub Worksheet_SelectionChange(ByVal Target As Range)         Dim rngCell As Range
              If Not Application.Intersect(Target, Me.Range("c1:c10")) Is Nothing Then
                  For Each rngCell In Application.Intersect(Target, Me.Range("c1:c10"))
                      If Me.Cells(rngCell.Row, "A").Value <> "Pending" Then
                          Application.OnKey "{DEL}", ""
                          Application.OnKey "{BACKSPACE}", ""
                          Exit For
                      Else
                          Application.OnKey "{DEL}"
                          Application.OnKey "{BACKSPACE}"
                      End If
                  Next rngCell
              Else
                  Application.OnKey "{DEL}"
                  Application.OnKey "{BACKSPACE}"
              End If
               
          End Sub
          اینم کد یورز فرم
          کد:
          Private Sub CommandButton1_Click()
          
          If TextBox1.Text = ComboBox1.Column(1) Then
          MsgBox (" ÎæÔ ÂãÏíÏ " + ComboBox1.Column(0))
          If ComboBox1.Column(0) = "ADMIN" Then
          Sheet1.Visible = xlSheetVisible
          
          
          Sheet2.Visible = xlSheetVisible
          Sheet3.Visible = xlSheetVisible
          Sheet1.Select
          Application.Windows.Application.Visible = True
          End
          
          
          ElseIf ComboBox1.Column(0) = "A" Then
          
          
          Sheet2.Visible = xlSheetVisible
          Sheet2.Select
          End
          ElseIf ComboBox1.Column(0) = "B" Then
          
          
          Sheet3.Visible = xlSheetVisible
          Sheet3.Select
          End
          
          
          End If
          Else
          
          
          
          
          MsgBox ("äÇã ˜ÇÑÈÑí íÇ ÑãÒ Ú龄 ÇÔÊÈÇå ÇÓÊ")
          
          
          End If
          
          
          End Sub
          Last edited by ali.b; 2014/07/26, 11:18.
          [CENTER]
          [/CENTER]

          کامنت

          • ali.b

            • 2014/01/12
            • 798

            #6
            التماس دعا داریم
            [CENTER]
            [/CENTER]

            کامنت

            • Amir Ghasemiyan

              • 2013/09/20
              • 4595
              • 100.00

              #7
              نوشته اصلی توسط absorkhi
              التماس دعا داریم
              محتاجيم به دعا

              کامنت

              • ali.b

                • 2014/01/12
                • 798

                #8
                من فهمیدم مشکل کارم از کجا بود این کد ازر کار انداختن کلید ها مروبط به شیت جاری بود که باید به صورت کلی نوشته میشد
                و به هرشیت با دستور Call ارجاع داده میشد
                [CENTER]
                [/CENTER]

                کامنت

                • hooman_tt

                  • 2013/03/03
                  • 31

                  #9
                  دوست عزیز
                  عرض سلام و ادب
                  میشه خواهش کنم فایل نهایی تون رو بزارین اینجا که بنده و امثال من با مهندسی معکوس یاد بگیریم ؟
                  ممنون

                  کامنت

                  چند لحظه..