Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请教为什么关于if嵌套的问题,新建和自动累计代码本来是根据条件决定运行哪段的,为什么都运行了?请帮忙看看,谢谢!!

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

 

Top
zhaoyoulong 发表于:2015-03-12 09:49:22
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


jbgy 发表于:2015-03-12 10:39:24
感谢楼上,我试了一下好像不行,麻烦再帮忙看看管理

煮江品茶 发表于:2015-03-12 11:22:48

你的窗体1为绑定窗体,在空白时输入便是新增记录了,与点击按钮都没球关系,因此也就与代码没球关系。


你只要将窗体1的控件都删除其控件来源,并将窗体的数据源清空,就可以正常操作了。



jbgy 发表于:2015-03-12 11:31:12
的确是球关系都没有!!非常感谢问题解决!!!!!

BMW 发表于:2015-03-17 23:55:18
语言很接地气,通俗易懂,生动形象。非常棒。

总记录:5篇  页次:1/1 9 1 :