jbgy 发表于:2015-03-12 08:39:21
请教大家个问题,为什么我if嵌套的有问题,本来要求是有记录就累计,没有记录就新建一条,但是现在是既累计又新建,请帮忙看看
Private Sub Command1_Click()
Dim sql As String
Dim rst As ADODB.Recordset
Dim number As Integer
'以下程序中的 窗体1 表示"入库记录"窗体
If IsNull(窗体1![产品代码]) Then '如果没有选择仓库编码
MsgBox "请选择产品代码"
' DoCmd.GoToControl "产品代码"
ElseIf IsNull(窗体1![产品名称]) Then
MsgBox "请输入产品名称"
'DoCmd.GoToControl "产品名称"
ElseIf IsNull(窗体1![产品规格]) Then
MsgBox "请输入产品规格"
'DoCmd.GoToControl "产品规格"
ElseIf IsNull(窗体1![库存数量]) Then
MsgBox "请选择库存数量"
'DoCmd.GoToControl "产品数量"
'ElseIf IsNull(窗体1![入库备注]) Then
' MsgBox "请输入入库备注"
' DoCmd.GoToControl "入库备注"
Else
'添加库存信息
sql = "select * from 库存表 where[产品代码]=" & 窗体1![产品代码]
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 + 窗体1![库存数量]
rst!库存数量 = number
rst.Update
sql = "出库成功1!请查看库存详细信息"
MsgBox sql
窗体1.Requery
Exit Sub
Else
With rst
.AddNew
!产品代码 = 窗体1![产品代码]
!产品名称 = 窗体1![产品名称]
!产品规格 = 窗体1![产品规格]
!库存数量 = 窗体1![库存数量]
!备注 = 窗体1![备注]
End With
rst.Update
sql = "入库成功2!请查看库存详细信息"
MsgBox sql
窗体1.Requery
Exit Sub
End If
rst.Close
Set rst = Nothing
Exit Sub
窗体1.Visible = False
End If
End Sub
Dim sql As String
Dim rst As ADODB.Recordset
Dim number As Integer
'以下程序中的 窗体1 表示"入库记录"窗体
If IsNull(窗体1![产品代码]) Or IsNull(窗体1![产品名称]) Or IsNull(窗体1![产品规格]) Or IsNull(窗体1![库存数量]) Or IsNull(窗体1![入库备注]) Then
MsgBox "产品代码、产品名称、产品规格、库存数量为必填项不能为空,请检查!"
exit sub
Else
'添加库存信息
sql = "select * from 库存表 where[产品代码]=" & 窗体1![产品代码]
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 + 窗体1![库存数量]
rst!库存数量 = number
rst.Update
MsgBox "出库成功1!请查看库存详细信息"
forms( "窗体1").Requery
Else
With rst
.AddNew
!产品代码 = 窗体1![产品代码]
!产品名称 = 窗体1![产品名称]
!产品规格 = 窗体1![产品规格]
!库存数量 = 窗体1![库存数量]
!备注 = 窗体1![备注]
End With
rst.Update
MsgBox "入库成功2!请查看库存详细信息"
forms( "窗体1").Requery
End If
rst.Close
Set rst = Nothing
forms( "窗体1").Visible = False
End If
感谢楼上,我试了一下好像不行,麻烦再帮忙看看
管理
你的窗体1为绑定窗体,在空白时输入便是新增记录了,与点击按钮都没球关系,因此也就与代码没球关系。
你只要将窗体1的控件都删除其控件来源,并将窗体的数据源清空,就可以正常操作了。
的确是球关系都没有
!!非常感谢问题解决
!!!!!
语言很接地气,通俗易懂,生动形象。非常棒。
总记录:5篇 页次:1/1 9 1 :