我在使用vb和access做工资管理系统的过程中,遇到了一个这样的错误:
Run - time error '3426'
该操作被关联对象取消
代码如下:
Private Sub Command7_Click()
Data2.Recordset.MoveFirst
While (Data2.Recordset.EOF <> False)
 If (Data2.Recordset("编号") = Combo1.Text) Then
  jbt = jbt + Val(Data2.Recordset("加班时间"))
 End If
 Data2.Recordset.MoveNext
Wend
Data3.Recordset.MoveFirst
Do While (Data3.Recordset.EOF <> False)
 If (Data3.Recordset("编号") = Combo1.Text) Then
 lb1 = Data3.Recordset("人员类别")
 Exit Do
 End If
 Data3.Recordset.MoveNext
Loop
 
Data1.Recordset.MoveFirst
Do While (Data1.Recordset.EOF <> False)
   If (Data1.Recordset("人员类别") = lb1) Then
       jbbz = Val(Data1.Recordset("加班费"))
       Exit Do
   End If
   Data1.Recordset.MoveNext
Loop
jbf = jbt * jbbz
Text3.Text = Str(jbf)
Data3.Recordset.MoveFirst
While (Data3.Recordset.EOF <> False)
 If (Data3.Recordset("编号") = Combo1.Text) Then
 lb2 = Data3.Recordset("人员类别")
 End If
 Data3.Recordset.MoveNext
Wend
Data1.Recordset.MoveFirst
While (Data1.Recordset.EOF <> False)
 If (Data1.Recordset("人员类别") = lb2) Then
 rcbt = Data1.Recordset("日常补贴")
 ccbt = Data1.Recordset("出差补贴")
 End If
 Data1.Recordset.MoveNext
Wend
Data2.Recordset.MoveFirst
While (Data2.Recordset.EOF <> False)
 If (Data2.Recordset("编号") = Combo1.Text) Then
 qj = 0
 cc = 0
 dg = 0
 Select Case cq
 Case Is = "请假"
 qj = qj + 1
 Case Is = "出差"
 cc = cc + 1
 Case Else
 dg = dg + 1
 End Select
 End If
 Data2.Recordset.MoveNext
Wend
btf = dg * Val(rcbt) + cc * Val(ccbt)
Text4.Text = Str(btf)
Data3.Recordset.MoveFirst
While (Data3.Recordset.EOF <> False)
 If (Data3.Recordset("编号") = Combo1.Text) Then
 lb3 = Data3.Recordset("人员类别")
 End If
 Data3.Recordset.MoveNext
Wend
Data1.Recordset.MoveFirst
While (Data1.Recordset.EOF <> False)
 If (Data1.Recordset("人员类别") = lb3) Then
 jbbz = Val(Data1.Recordset("基本工资"))
 End If
 Data1.Recordset.MoveNext
Wend
jbgz = jbbz * dg
Text7.Text = Str(jbgz)
Data3.Recordset.MoveFirst
While (Data3.Recordset.EOF <> False)
 If (Data3.Recordset("编号") = Combo1.Text) Then
 lb4 = Data3.Recordset("人员类别")
 End If
 Data3.Recordset.MoveNext
Wend
Data1.Recordset.MoveFirst
While (Data1.Recordset.EOF <> False)
 If (Data1.Recordset("人员类别") = lb4) Then
 sdbz = Data1.Recordset("水电费")
 xjbz = Data1.Recordset("修建扣费")
 End If
 Data1.Recordset.MoveNext
Wend
sdf = dg * Val(sdbz)
xjf = Val(xjbz) * 30
zkf = sdf + xjf
Text6.Text = Str(zkf)
zj = jbgz + jbf + btf + Val(Data3.Recordset("奖金")) - zkf
Text8.Text = Str(zj)
rq = Date
Text5.Text = rq
End Sub
错误在第九行:Data3.Recordset.MoveFirst
拜托高手帮忙,急用,多谢!