if not isnull 类型错误

Private Sub DataGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
    If 明细金额对账 = 1 Then
        Dim 数量回单 As Variant
        Dim 单价修正 As Variant
        If ColIndex = 10 Then
            ID = DataGrid1.Columns("序号").Value
            If Not IsNull(DataGrid1.Columns("回单数量").Value) Then
                If Not IsNumeric(DataGrid1.Columns("回单数量").Value) Then
                    MsgBox "对不起,回单数量是数字,请重新输入", vbOKOnly, "错误提示"
                    Cancel = True
                    Exit Sub
                End If
            End If
        ElseIf ColIndex = 8 Then
            If Not IsNull(DataGrid1.Columns("修正单价").Value) Then
                If Not IsNumeric(DataGrid1.Columns("修正单价").Value) Then
                    MsgBox "对不起,修正单价是数字,请重新输入", vbOKOnly, "错误提示"
                    Cancel = True
                    Exit Sub
                End If
            End If
        ElseIf ColIndex = 13 Then
            时间 = DataGrid1.Columns("入账日期").Value
            If 时间 = 1 Or 时间 = 2 Or 时间 = 3 Or 时间 = 4 Or 时间 = 5 Or 时间 = 6 Or 时间 = 7 Or 时间 = 8 Or 时间 = 9 Or 时间 = 10 Or 时间 = 11 Or 时间 = 12 Then
                If (时间 < 服务器月 And 时间 >= 服务器月 - 1) Or (时间 = 12 And 服务器月 = 1) Then
                    核对日期 = 服务器年 & "-" & 时间 & "-" & "1"
                    单号 = DataGrid1.Columns("订单编号").Value
                    If MsgBox("确定已经完成对【" & Trim(单号) & "】的对账吗?" & Chr(13) & "此笔账目将要进入的月份为" & 服务器年 & "." & 时间 & "月,请确认!", vbYesNo, "提示信息") = vbYes Then
                      1.If IsNull(DataGrid1.Columns("回单数量").Value) And Not IsNull(DataGrid1.Columns("修正单价").Value) Then
                            sql3 = "update 财务应收 set 入账日期 ='" & 核对日期 & "',回单数量=送货数量 where 序号 ='" & ID & "'"
                            cn.Open strCn
                            rs.Open sql3, cn
                            cn.Close
                      2.ElseIf Not IsNull(DataGrid1.Columns("回单数量").Value) And IsNull(DataGrid1.Columns("修正单价").Value) Then
                            sql3 = "update 财务应收 set 入账日期 ='" & 核对日期 & "',修正单价=单价 where 序号 ='" & ID & "'"
                            cn.Open strCn
                            rs.Open sql3, cn
                            cn.Close
                      3.ElseIf IsNull(DataGrid1.Columns("回单数量").Value) And IsNull(DataGrid1.Columns("修正单价").Value) Then
                            sql3 = "update 财务应收 set 入账日期 ='" & 核对日期 & "',修正单价=单价,回单数量=送货数量 where 序号 ='" & ID & "'"
                            cn.Open strCn
                            rs.Open sql3, cn
                            cn.Close
                        End If
                        MsgBox "已经完成【" & Trim(单号) & "】对账,账目进入月份为" & 服务器年 & "." & 时间 & "月", vbOKOnly, "提示信息"
                        Cancel = True
                        Adodc1.Refresh
                        Call 单号金额对账初始化列宽修改限制
                    Else
                        Cancel = True
                        Exit Sub
                    End If

                Else
                    MsgBox "对不起,你所填写的对账日期超过了对账月份的限制!" & Chr(13) & "这个月只能入上个月的账目,无法人其他时间账目。", vbOKOnly, "错误提示"
                    Cancel = True
                    Exit Sub
                End If
            Else
                MsgBox "1年中只有12个月!请重新输入", vbOKOnly, "错误提示"
                Cancel = True
            End If
        End If
    End If


End Sub上述为代码。。。。。。。。。。。
问题陈述:代码三处共3处红字,为代码运行错误,提示错误信息为类型不匹配
代码用意:3个元素,回单数量,修正单价,入账日期,3个元素都是datagrid中的表格列,
操作步骤,当我去填写入账日期的时候,程序自动检查回单数量,与修正单价这2行数据,看看是否为空,如果为空则运行相应的sql语句
错误提示:类型不匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值