一个人事系统的系统管理模块
代码: 
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("操作员")这一句上,不知道为什么,网上搜了一下这个错误还是不懂,有没有人来帮我一下哈 
 

解决方案 »

  1.   

    ado1是什么?
    是控件?用了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    
      

  2.   

    工程引用Microsoft ActiveX Data Objects 2.5 Library