Private Sub btnSave_Click()
On Error GoTo ErrorHandler
Dim strWhere As String
Dim strSQL As String
Dim cnn As Object 'ADODB.Connection
Dim rst As Object 'ADODB.Recordset
Dim rstTmp As Object 'DAO.Recordset
Dim blnTransBegin As Boolean
If Not CheckRequired(Me) Then Exit Sub
If Not CheckTextLength(Me) Then Exit Sub
If Not CheckRequired(Me.sfrDetail) Then Exit Sub
Set cnn = CurrentProject.Connection
cnn.BeginTrans: blnTransBegin = True
strSQL = "SELECT * FROM [tbl_配件入库] WHERE [入库单号]=" & SQLText(Me![入库单号])
Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
If rst.EOF Then
rst.AddNew
rst![入库单号] = GetAutoNumber("配件入库单号")
rst![审核状态] = "待审核"
rst![制单人] = Forms!SysFrmMain.Nickname
rst![制单日期] = Now()
End If
rst![入库日期] = Me![入库日期]
rst![仓库名称] = Me![仓库名称]
rst![供应商] = Me![供应商]
rst![进货单号] = Me![进货单号]
rst![备注] = Me![备注]
rst.Update
Me![入库单号] = rst![入库单号]
rst.Close
strSQL = "SELECT * FROM [tbl_配件入库list] WHERE [入库单号]=" & SQLText(Me![入库单号])
Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
Do Until rst.EOF
rst.Delete
rst.MoveNext
Loop
Set rstTmp = CurrentDb.OpenRecordset("TMP_tbl_配件入库list")
Do Until rstTmp.EOF
rst.AddNew
rst![序号] = rstTmp![序号]
rst![入库单号] = Me![入库单号]
rst![配件编号] = rstTmp![配件编号]
rst![品名] = rstTmp![品名]
rst![规格型号] = rstTmp![规格型号]
rst![单位] = rstTmp![单位]
rst![实收数量] = rstTmp![实收数量]
rst![入库数量] = rstTmp![入库数量]
rst![检验状态] = "待检验"
rst![说明] = rstTmp![说明]
rst.Update
rstTmp.MoveNext
Loop
rst.Close
rstTmp.Close
strSQL = "SELECT * FROM [tbl_配件入库质检_List_D] WHERE [入库单号]=" & SQLText(Me![入库单号])
Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
Do Until rst.EOF
rst.Delete
rst.MoveNext
Loop
Set rstTmp = CurrentDb.OpenRecordset("TMP_tbl_配件入库质检_List_D")
Do Until rstTmp.EOF
rst.AddNew
rst![入库单号] = Me![入库单号]
rst![检验日期] = rstTmp![检验日期]
rst![检验员] = rstTmp![检验员]
rst![实入数量] = rstTmp![实入数量]
rst![检验数量] = rstTmp![检验数量]
rst![检验结果] = rstTmp![检验结果]
rst![说明] = rstTmp![说明]
rst.Update
rstTmp.MoveNext
Loop
rst.Close
rstTmp.Close
cnn.CommitTrans: blnTransBegin = False
DoCmd.SetWarnings False
If Form_SysFrmMain.sfrChild.SourceObject = "frm_配件入库" Then
Form_frm_配件入库.RefreshDataList
MsgBoxEx LoadString("Saved Successfully."), vbInformation, , 1000
WriteOperationLog "配件入库单", "保存", [入库单号]
End If
'If Me.DataEntry Then
' ClearControlValues Me
' CurrentDb.Execute "DELETE FROM [TMP_tbl_配件入库list]"
Me.sfrDetail.Requery
'Else
' DoCmd.Close acForm, Me.Name, acSaveNo
'End If
ExitHere:
Set rst = Nothing
Set cnn = Nothing
Set rstTmp = Nothing
Exit Sub
ErrorHandler:
If blnTransBegin Then
cnn.RollbackTrans
blnTransBegin = False
End If
RDPErrorHandler Me.Name & ": Sub btnSave_Click()"
Resume ExitHere
End Sub