|
高手请帮我看以下这段代码有什么问题,我就想把记录从“工资计算表”里读出到“工资修改窗体”,修改好以后,再将这条记录写回到表中覆盖这条记录。一开始用的时候可以用的,后来不知道是不是因为加了“档位”和“备注”的原因,这个保修按钮不起作用了,在窗体里可以更改,但是不能把修改后的数据写回到表中。
Private Sub Cmd保修1_Click()
On Error GoTo Err_Cmd保修1_Click
'定义字符型变量
Dim STemp As String
'定义用于循环的整型变量
Dim I As Integer
'定义数据集变量
Dim Rs As ADODB.Recordset
'为定义的数据集变量分配空间
Set Rs = New ADODB.Recordset
'为打开数据表“查询语句”字符变量赋值
STemp = "Select * From 工资计算表"
'打开“职员资料”数据表
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'把记录集的指针指到第一条
Rs.MoveFirst
'使用For…Next循环语句在Rs数据集中循环判断
For I = 1 To Rs.RecordCount
'判断记录集中的“职员ID”字段值是否与窗体中“职员ID”文本框内的值
If Me![txt姓名] = Rs("姓名") And Me![txtID] = Rs("序号") Then
Rs("档位") = Me![txt档位]
Rs("现任职务") = Me![txt职务]
Rs("等级") = Me![txt等级]
Rs("等级工资") = Me![txt等级工资]
Rs("岗位工资") = Me![txt岗位工资]
Rs("伙食津贴") = Me![txt伙食津贴]
Rs("工资标准") = Me![txt标准]
Rs("冬季作业补贴") = Me![txt冬补]
Rs("上船日期") = Me![txt上船日期]
Rs("下船日期") = Me![txt下船日期]
Rs("天数") = Me![txt天数]
Rs("异地取款费") = Me![txt取款费]
Rs("补差") = Me![txt补差]
Rs("扣预付款") = Me![txt扣预付款]
Rs("扣多发工资") = Me![txt扣多发]
Rs("船务代发") = Me![txt船务代发]
Rs("应发合计") = Me![txt应发合计]
Rs("应扣合计") = Me![txt应扣合计]
Rs("实发工资") = Me![txt实发工资]
Rs("所在船舶") = Me![Cob所在船舶]
Rs("备注") = Me![txt备注]
Rs("在职情况") = Me![txt在职情况]
Else
Rs.MoveNext
End If
Next I
Set Rs = Nothing
Exit_Cmd保修1_Click:
Exit Sub
Err_Cmd保修1_Click:
MsgBox err.Description
Resume Exit_Cmd保修1_Click
End Sub
|
|