Foxtable(狐表)用户栏目专家坐堂 → 空值报错


  共有4273人关注过本帖树形打印复制链接

主题:空值报错

帅哥哟,离线,有人找我吗?
longtechwj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:4686 威望:0 精华:0 注册:2013/6/11 17:51:00
空值报错  发帖心情 Post By:2013/7/11 13:33:00 [只看该作者]

用TABLE的FILL填充数据,因查出该表数据为空,调用AddNew()方法的时候出现空值异常


图片点击可在新窗口打开查看此主题相关图片如下:nullexception.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/11 13:42:00 [只看该作者]

贴出这个按钮的代码。

 


 回到顶部
帅哥哟,离线,有人找我吗?
longtechwj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:4686 威望:0 精华:0 注册:2013/6/11 17:51:00
  发帖心情 Post By:2013/7/11 13:44:00 [只看该作者]

If(Cstr(e.Form.Controls("CFA01").Value)="") Then
MessageBox.Show("请先保存主档信息!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
Return
End If

If(Tables("产品出货_Table2").Rows.Count>0) Then
Dim t As Table = Tables("产品出货_Table2")
Dim g As Subtotalgroup
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
t.SubtotalGroups.Clear()
t.Subtotal()
End If

Dim r1 As DataRow
r1=Tables("产品出货_Table2").DataTable.AddNew()
r1("CFB01")=e.Form.Controls("CFA01").Value
Tables("产品出货_Table2").Cols("CFB03").DropForm = "订单资料导入"


 回到顶部
帅哥哟,离线,有人找我吗?
longtechwj
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:4686 威望:0 精华:0 注册:2013/6/11 17:51:00
  发帖心情 Post By:2013/7/11 13:44:00 [只看该作者]

r1("CFB01")=e.Form.Controls("CFA01").Value 这一句报错

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/11 13:47:00 [只看该作者]

你说的这个,按道理不会出错的。

 

你把下面这样:

 

If Cstr(e.Form.Controls("CFA01").Value)="")

 

改为:

 

if e.Form.Controls("CFA01").Value Is Nothing Then

 

 

如果还有问题,做个例子发上来。


 回到顶部
帅哥哟,离线,有人找我吗?
longtechwj
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:4686 威望:0 精华:0 注册:2013/6/11 17:51:00
  发帖心情 Post By:2013/7/11 18:18:00 [只看该作者]

这个是我绑定数据的代码

sql="select CFB01,CFB31,CFB03,CFB04,CFB05,CFB06,CFB07,CFB08,CFB09,CFB10,CFB11,CFB12,CFB13,CFB14,CFB15,CFB16,CFB17 FROM CPCFB where CFB01='"+Tables("产品出货_Table1").Current("CFA01")+"'"
Tables("产品出货_Table2").fill(sql,"EPN数据",False)

Tables("产品出货_Table2").Cols("CFB03").DropForm = "订单资料导入"

 

然后这个是我新增记录行的代码

If e.Form.Controls("CFA01").Value Is Nothing Then
MessageBox.Show("请先保存主档信息!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
Return
End If

If(Tables("产品出货_Table2").Rows.Count>0) Then
Dim t As Table = Tables("产品出货_Table2")
Dim g As Subtotalgroup
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
t.SubtotalGroups.Clear()
t.Subtotal()
End If

Dim r1 As DataRow
r1=Tables("产品出货_Table2").DataTable.AddNew()
r1("CFB01")=e.Form.Controls("CFA01").Value
Tables("产品出货_Table2").Cols("CFB03").DropForm = "订单资料导入"


 回到顶部
帅哥哟,离线,有人找我吗?
longtechwj
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:4686 威望:0 精华:0 注册:2013/6/11 17:51:00
  发帖心情 Post By:2013/7/11 18:26:00 [只看该作者]

Dim r1 As DataRow
With Tables("产品出货_Table2")
    If .Current Is Nothing OrElse .Current.DataRow.RowState = DataRowState.Unchanged Then
        .AddNew()
        r1=.Current.DataRow
        r1("CFB01")=e.Form.Controls("CFA01").Value
    Else
        MessageBox.Show("该记录已经被修改,若想保存结果请先<保存修改>,否则请<撤销修改>! ")
    End If
End With
这样就不会报错,但是用下拉窗体导入不进去数据

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/12 8:51:00 [只看该作者]

你上个例子吧,方便分析问题.

 回到顶部