Private Sub 申请_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 money As Currency
If Not CheckRequired(Me) Then Exit Sub
If Not CheckTextLength(Me) Then Exit Sub
Set cnn = CurrentProject.Connection
strSQL = "SELECT * FROM [采购管理_采购信息登记表]"
Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
If IsNull(Me.订购数量) Then
MsgBox "请输入采购数量!", vbInformation
Me.订购数量.SetFocus
Exit Sub
End If
If IsNull(Me.需求日期) Then
MsgBox "请输入需求日期!", vbInformation
Me.需求日期.SetFocus
Exit Sub
End If
money = DLookup("预算金额", "财务管理_预算管理", "项目名称='" & Me.项目名称 & "'") - DLookup("金额", "财务管理_项目费用查询", "项目名称='" & Me.项目名称 & "'")
If money = 0 Then
MsgBox "预算不足, 请增加预算!", vbInformation
Exit Sub
End If
If (money - Me.订购数量.Value * DMin("单价", "财务管理_物料价格查询")) <= 0 Then
MsgBox "预算不足, 请增加预算!", vbInformation
Exit Sub
End If
If rst.EOF Then
rst.AddNew
Else
rst.MoveLast
rst.AddNew
End If
rst![申请日期] = Date
rst![项目名称] = Me![项目名称]
rst![预算号] = DLookup("预算ID", "财务管理_预算管理", "项目名称='" & Me.项目名称 & "'")
rst![物料名称] = Me![物料名称]
rst![规格及型号] = Me![物料规格]
rst![单位] = Me![单位]
rst![数量] = Me![订购数量]
rst![参考单价] = DMin("单价", "财务管理_物料价格查询")
rst![库存数] = DMin("库存数量", "仓库管理_物料库存查询")
rst![申请人] = GetParameter("Current User Nickname", dbText, Null)
rst![预用日期] = Me![需求日期]
rst![备注] = Me![备注]
Me.采购状态 = "已申请"
rst.Update
rst.Close
Me.Requery
MsgBoxEx "申请成功!", vbInformation
Me![订购数量] = Null
Me![需求日期] = Null
Me![备注] = Null
ExitHere:
Set rst = Nothing
Set cnn = Nothing
Exit Sub
ErrorHandler:
RDPErrorHandler Me.name & ": Sub btnSave_Click()"
Resume ExitHere
End Sub