我做了一個庫存管理登錄系統,其中做了一個用戶操作權限管理(詳見附件),原來做的用戶名、密碼、操作權限均放在Excel作業表,運行正常,現在我將其保存到資料庫中的“用戶名密碼資訊”資料表中,請問如何寫這個代碼,現附上原來的代碼,請各位幫忙!!!附件地址:http://download.csdn.net/detail/longzhu0623/7204547
個人認為我的需求共分三個步驟寫代碼:
第1步:鏈接資料庫并重繪用戶串列;
第2步:給用戶串列下的用戶權限進行賦值;
第3步:保存權限修改;
現在我寫完了第1步,第3步應該沒有問題,關鍵是第2步我現在不知道應該怎么寫,請各位指點一下,拜托啦!
具體代碼如下(詳見附件):
Dim cnn As New ADODB.Connection
Dim rsx As ADODB.Recordset
'第1步代碼:
Private Sub UserForm_initialize()
Dim i As Integer, n As Long
Dim rsSQL As New ADODB.Recordset
Dim sql As String
'建立與資料庫的連接
With cnn
.ConnectionString = "Provider=microsoft.jet.oledb.4.0;" _
& "Data Source=" & ThisWorkbook.Path & "\資料庫.mdb;"
.Open
End With
sql = "select distinct 用戶名 from 用戶名密碼資訊 order by 用戶名"
Set rsx = New ADODB.Recordset
rsx.Open sql, cnn, adOpenKeyset, adLockOptimistic
With 用戶串列
.Clear
Do While Not rsx.EOF
.AddItem rsx!用戶名
rsx.MoveNext
Loop
End With
On Error Resume Next
用戶串列.ListIndex = 0
Application.EnableEvents = True
End Sub
Private Sub 關閉_Click()
Unload Me
End Sub
'原第1步代碼:
'Private Sub UserForm_initialize()
'Dim intRowsCount As Integer, i As Integer
'Application.EnableEvents = False
'intRowsCount = 用戶管理.Range("A" & Rows.Count).End(xlUp).Row
'For i = 2 To intRowsCount
' 用戶串列.AddItem 用戶管理.Range("A" & i)
'Next
'用戶串列.ListIndex = 0
'Application.EnableEvents = True
'End Sub
'
'Private Sub 關閉_Click()
'Unload Me
'End Sub
'原第3步代碼:
Private Sub 確定_Click()
Dim intRowsCount As Integer, i As Integer
intRowsCount = 用戶管理.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To intRowsCount
If 用戶串列.Text = 用戶管理.Range("A" & i) Then
With 用戶管理
.Range("C" & i) = 管理用戶.Value
.Range("D" & i) = 管理日志.Value
End With
End If
Next i
Unload Me
End Sub
'原第2步代碼:
Private Sub 用戶串列_change()
Dim intRowsCount As Integer, i As Integer
intRowsCount = 用戶管理.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To intRowsCount
If 用戶管理.Range("A" & i) = 用戶串列.Text Then
With 用戶管理
管理用戶.Value = CBool(.Range("C" & i))
管理日志.Value = CBool(.Range("D" & i))
End With
Exit Sub
End If
管理用戶.Value = False
管理日志.Value = False
Next
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/123887.html
標籤:VBA
上一篇:VB獲取簡單圖片中的數字
