|
其它的保存功能都没问题,就是这个窗口的保存会出如下提示:
点确定后,数据会保存,但是点关闭窗口时,又提示数据已修改,是否要保存,点保存,又出现上面这个错误,一直这么循环。。。
其它窗口的保存没有这个问题,重新把表设计过一次还是这个问题,重新生成这个窗口,还是这个问题;和其它OK的窗口保存代码对比,也没有什么区别,不知道问题出在哪?
'保存数据
Private Function mf_SaveData() As Boolean
On Error GoTo Err_Handler
Dim strSql As String
Dim cn As Object
Dim rs As Object
'【验证部分】
If Not gf_CheckRequired(Me) Then Exit Function '必填项判断
If Not gf_CheckLength(Me) Then Exit Function '长度限制判断
'【事务处理】
Set cn = CurrentProject.Connection
cn.BeginTrans '开始事务
'【保存数据】
Dim strKeyValue As String
strSql = "Select * from [tbl_quotation] where [QUID]=" & Nz(Me![QUID], 0)
Set rs = gf_OpenRecordset(strSql, cn, 1, 3)
If rs.RecordCount = 0 Then
rs.AddNew
End If
rs("Qu_Id") = Me![Qu_ID]
rs("Qu_CuId") = Me![Qu_CuID]
rs("Qu_LkId") = Me![Qu_LkID]
rs("Qu_PiId") = Me![Qu_PiID]
rs("Qu_Qty") = Me![Qu_Qty]
rs("Qu_Moq") = Me![Qu_MOQ]
rs("Qu_Delivery") = Me![Qu_Delivery]
rs("Qu_BeDate") = Me![Qu_BeDate]
rs("Qu_EnDate") = Me![Qu_EnDate]
rs("Qu_PrId") = Me![Qu_PrID]
rs("Qu_EmId") = Me![Qu_EmID]
rs("Qu_Date") = Me![Qu_Date]
rs("Qu_Active") = Me![Qu_Active]
rs.Update '提交数据
strKeyValue = rs("QUID") 'QUID为自动编号字段
Me![QUID] = strKeyValue '主键值回填
Me![QUID].Enabled = False '主键不再允许修改
rs.Close
'【提交事务,返回结果】
cn.CommitTrans '提交事务
gf_IsChange False '设置状态
mf_SaveData = True '返回结果
'【处理权限】
Dim blnValue As Boolean
blnValue = gf_RightValue("frm__quotation_Main", "Edit", blnIsCreate:=False)
mf_EditRight blnValue '若没有编辑权限,则只能新增保存一次,不能继续编辑
Exit_Handler:
'【清理资源】
Set rs = Nothing
Set cn = Nothing
Exit Function
Err_Handler:
'【事务滚回,错误处理】
gf_Msgbox "", errError:=Err
cn.RollbackTrans '事务滚回
GoTo Exit_Handler '跳到清理资源
End Function
'保存按钮
Private Sub cmdSave_Click()
'【保存数据】
If mf_SaveData Then gf_Msgbox gf_GetLangValue("Save Successfully")
End Sub
|
|