Private Sub Command14_Click()
Dim rst As ADODB.Recordset
Dim number As Integer
Dim sql As String
If IsNull(Me![仓库编号]) Then
MsgBox "请选择仓库"
DoCmd.GoToControl "仓库编号"
ElseIf IsNull(Me![商品编号]) Then
MsgBox "请选择商品编号"
DoCmd.GoToControl "商品编号"
ElseIf IsNull(Me![数量]) Then
MsgBox "请选择数量"
DoCmd.GoToControl "数量"
ElseIf IsNull(Me![经手员工编号]) Then
MsgBox "请选择经手员工编号"
DoCmd.GoToControl "经手员工编号"
ElseIf IsNull(Me![出库日期]) Then
MsgBox "请选择出库日期"
DoCmd.GoToControl "出库日期"
ElseIf IsNull(Me![订单编号]) Then
MsgBox "请选择订单编号"
DoCmd.GoToControl "订单编号"
ElseIf IsNull(Me![送货方式]) Then
MsgBox "请选择送货方式"
DoCmd.GoToControl "送货方式"
Else
sql = "select * from 商品表 where 商品编号='" & Me.商品编号 & "'"
Set rst = New ADODB.Recordset
rst.ActiveConnection = CurrentProject.Connection
rst.CursorType = adOpenDynamic
rst.LockType = adLockOptimistic
rst.Open sql
If Not (rst.EOF) Then
'修改库存信息
sql = "select *from 商品表 where 仓库编号='" & Me.仓库编号 & "'and 商品编号='" & Me.商品编号 & "'"
Set rst = New ADODB.Recordset
rst.ActiveConnection = CurrentProject.Connection
rst.CursorType = adOpenDynamic
rst.LockType = adLockOptimistic
rst.Open sql
If Not (rst.EOF) Then
number = rst!数量
number = number - Me![数量]
rst!数量 = number
'rst.Close
'Set rst = Nothing
sql = "当前库存数量为:" & number
MsgBox sql
Exit Sub
Else
rst.Close
Set rst = Nothing
MsgBox "没有该商品的库存信息,不能出库"
Exit Sub
End If
'添加出库记录
sql = "select * from 出库记录表"
rst.Close
Set rst = Nothing
Set rst = New ADODB.Recordset
rst.ActiveConnection = CurrentProject.Connection
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Open sql
Else
rst.Close
Set rst = Nothing
MsgBox "系统中没有该商品的信息,请先添加商品详细信息"
Exit Sub
Me.Visible = False
End If
End If
End Sub
加粗的代码不能正常执行
根据你提供的代码和问题描述,可能的问题是在.AddNew
这行代码出现了错误。具体的原因可能有多种,如表的字段设置不正确,记录已经存在等。为了更准确地定位问题,你可以通过以下几种方式来调试代码:
.AddNew
之前添加一些代码,输出相关字段的值,以确保这些值是正确的。例如:Debug.Print Me![仓库编号]
Debug.Print Me![商品编号]
.AddNew
之后添加一些代码,检查是否有任何错误发生。例如:If Err.Number <> 0 Then
MsgBox Err.Description
End If
希望以上建议能够帮助你解决问题。