一个人事系统的系统管理模块
代码:
Dim rs1 As New ADODB.Recordset
Dim i As Integer
Private Sub cmdAdd_Click()
Load main_xtgl_czy
main_xtgl_czy.Show 1
End Sub
Private Sub cmdDel_Click()
Cnn.Execute ("delete from 权限信息表 where 操作员='" + DataList1.BoundText + "'")
ado1.Refresh
End Sub
Private Sub cmdPassword_Click()
Load main_xtgl_mm
main_xtgl_mm.Show 1
End Sub
Private Sub Form_Activate()
ado1.Refresh
DataList1.SetFocus
End Sub
Private Sub Form_Load()
Me.Caption = text
rs1.Open "权限信息表", Cnn, adOpenKeyset, adLockOptimistic
For i = 0 To Check1.UBound
Check1(i).Caption = rs1.Fields(i).Name
Next i
rs1.Close
Set rs1 = Nothing
DataList1.text = ado1.Recordset.Fields("操作员")
DataList1_Click
End Sub
Private Sub Command1_Click() '全选
For i = 0 To Check1.UBound
Check1(i).Value = 1
Next i
End Sub
Private Sub Command2_Click() '全不选
For i = 0 To Check1.UBound
Check1(i).Value = 0
Next i
End Sub
Private Sub Command3_Click() '为操作员设置权限
For i = 0 To Check1.UBound
If Check1(i).Value = 1 Then
Cnn.Execute ("update 权限信息表 set " & Check1(i).Caption & "=1 where 操作员='" + DataList1.BoundText + "'")
Else
Cnn.Execute ("update 权限信息表 set " & Check1(i).Caption & "=0 where 操作员='" + DataList1.BoundText + "'")
End If
Next i
Unload Me
End Sub
Private Sub DataList1_Click() '查看操作员权限
rs1.Open "权限信息表 where 操作员='" & DataList1.BoundText & "'", Cnn, adOpenStatic
If rs1.RecordCount > 0 Then
For i = 0 To Check1.UBound
If rs1.Fields(i) = True Then Check1(i).Value = 1 Else Check1(i).Value = 0
Next i
End If
rs1.Close
Set rs1 = Nothing
End Sub
调试错误时指在 DataList1.text = ado1.Recordset.Fields("操作员")这一句上,不知道为什么,网上搜了一下这个错误还是不懂,有没有人来帮我一下哈
代码:
Dim rs1 As New ADODB.Recordset
Dim i As Integer
Private Sub cmdAdd_Click()
Load main_xtgl_czy
main_xtgl_czy.Show 1
End Sub
Private Sub cmdDel_Click()
Cnn.Execute ("delete from 权限信息表 where 操作员='" + DataList1.BoundText + "'")
ado1.Refresh
End Sub
Private Sub cmdPassword_Click()
Load main_xtgl_mm
main_xtgl_mm.Show 1
End Sub
Private Sub Form_Activate()
ado1.Refresh
DataList1.SetFocus
End Sub
Private Sub Form_Load()
Me.Caption = text
rs1.Open "权限信息表", Cnn, adOpenKeyset, adLockOptimistic
For i = 0 To Check1.UBound
Check1(i).Caption = rs1.Fields(i).Name
Next i
rs1.Close
Set rs1 = Nothing
DataList1.text = ado1.Recordset.Fields("操作员")
DataList1_Click
End Sub
Private Sub Command1_Click() '全选
For i = 0 To Check1.UBound
Check1(i).Value = 1
Next i
End Sub
Private Sub Command2_Click() '全不选
For i = 0 To Check1.UBound
Check1(i).Value = 0
Next i
End Sub
Private Sub Command3_Click() '为操作员设置权限
For i = 0 To Check1.UBound
If Check1(i).Value = 1 Then
Cnn.Execute ("update 权限信息表 set " & Check1(i).Caption & "=1 where 操作员='" + DataList1.BoundText + "'")
Else
Cnn.Execute ("update 权限信息表 set " & Check1(i).Caption & "=0 where 操作员='" + DataList1.BoundText + "'")
End If
Next i
Unload Me
End Sub
Private Sub DataList1_Click() '查看操作员权限
rs1.Open "权限信息表 where 操作员='" & DataList1.BoundText & "'", Cnn, adOpenStatic
If rs1.RecordCount > 0 Then
For i = 0 To Check1.UBound
If rs1.Fields(i) = True Then Check1(i).Value = 1 Else Check1(i).Value = 0
Next i
End If
rs1.Close
Set rs1 = Nothing
End Sub
调试错误时指在 DataList1.text = ado1.Recordset.Fields("操作员")这一句上,不知道为什么,网上搜了一下这个错误还是不懂,有没有人来帮我一下哈
是控件?用了ADO对象还用ado1控件?
ado1和rs1关联的话,下面这行:
rs1.Close
Set rs1 = Nothing
DataList1.text = ado1.Recordset.Fields("操作员")
不就是明显的不正确吗?rs1都关闭释放了,ado1还有什么呢?
用了ADO对象,完全没有必要再用ADO控件了,上面这样修改:DataList1.text = rs1.Fields("操作员")
rs1.Close
Set rs1 = Nothing