以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 空值报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=37781) |
-- 作者:longtechwj -- 发布时间:2013/7/11 13:33:00 -- 空值报错 用TABLE的FILL填充数据,因查出该表数据为空,调用AddNew()方法的时候出现空值异常 |
-- 作者:狐狸爸爸 -- 发布时间:2013/7/11 13:42:00 -- 贴出这个按钮的代码。
|
-- 作者:longtechwj -- 发布时间:2013/7/11 13:44:00 -- If(Cstr(e.Form.Controls("CFA01").Value)="") Then If(Tables("产品出货_Table2").Rows.Count>0) Then Dim r1 As DataRow |
-- 作者:longtechwj -- 发布时间:2013/7/11 13:44:00 -- r1("CFB01")=e.Form.Controls("CFA01").Value 这一句报错 |
-- 作者:狐狸爸爸 -- 发布时间:2013/7/11 13:47:00 -- 你说的这个,按道理不会出错的。
你把下面这样:
If Cstr(e.Form.Controls("CFA01").Value)="")
改为:
if e.Form.Controls("CFA01").Value Is Nothing Then
如果还有问题,做个例子发上来。 |
-- 作者:longtechwj -- 发布时间: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").Cols("CFB03").DropForm = "订单资料导入"
然后这个是我新增记录行的代码 If e.Form.Controls("CFA01").Value Is Nothing Then If(Tables("产品出货_Table2").Rows.Count>0) Then Dim r1 As DataRow |
-- 作者:longtechwj -- 发布时间: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 -- 发布时间:2013/7/12 8:51:00 -- 你上个例子吧,方便分析问题. |