在datagrid控件中实现两列之积等于另一列的时候,遇到数据库为空的情况,执行错误,帮我看一下代码哪里错了?

潇风逸雨 2004-08-26 10:56:36
Option Explicit
Dim rstemp As ADODB.Recordset

Private Sub Form_Load()
Set rstemp = adotemp.Recordset adodc控件名称adotemp
end sub


Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
With rstemp
If .Fields(7) <> 0 Or .Fields(8) <> 0 Then 光标移动到field(7)表示的列时,提示“实时错误94”,无效使用空
.Fields(9) = Val(.Fields(7)) * Val(.Fields(8))'光标移动到field(7)表示的列时,提示“实时错误94”,无效使用空.错误在此!

End If

End With

End Sub
...全文
42 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
落伍者 2004-08-26
用isnull判断是否为空
或者用 val(.fields(7) &"")
回复
huangjianyou 2004-08-26
在With rstemp 之前判断一下,下面就不用做那么多:

if isnull(.Fields(7)) or isnull(.Fields(8)) then exit sub

^_^
回复
online 2004-08-26
IIf(IsNull(Val(.Fields(7))), 0, Val(.Fields(7)))
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-08-26 10:56
社区公告
暂无公告