以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于判断统计表存在的问题。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51276) |
-- 作者:wh420 -- 发布时间:2014/5/23 10:09:00 -- 关于判断统计表存在的问题。 case "变量1“ dim dt as datatable Dim b As New GroupTableBuilder("统计表",DataTables("Tran"))
b.Groups.AddDef("Language") b.Totals.AddDef("TNumber",AggregateEnum.Count,"记录数") b.FromServer = True If Tables.Contains("统计表")=False Then dt = b.Build(False) End If Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.CreateTree(dt, "Language") end select ———————————————————————— 上面代码中如果表不存在则生成表没问题,但如果表存在了就报错”未将对象引用设置到对象的实例。“ 是不是其中这一段我写的不对?应该怎样处理一下? If Tables.Contains("统计表")=False Then dt = b.Build(False) End If |
-- 作者:Bin -- 发布时间:2014/5/23 10:12:00 -- 如果表存在.就没有执行 dt = b.Build(False) 也就是没有生成一个表为DT赋值 Name你下面的代码trv.CreateTree(dt, "Language") 这个时候DT是空的,当然会报空值错误了. 你应该把下面的代码都放到IF代码段里面去.
|
-- 作者:wh420 -- 发布时间:2014/5/23 10:18:00 -- 可是放到IF里面去,条件不满足仍然没有为DT赋值啊? |
-- 作者:Bin -- 发布时间:2014/5/23 10:19:00 -- 但是同时也不会执行 trv.CreateTree(dt, "Language") |
-- 作者:wh420 -- 发布时间:2014/5/23 10:22:00 -- 因为我的这个目录是根据统计表里的字段动态生成的,以上代码是放在导航栏的”selectedindexchanged"事件中,所以每次切换就刷新一次,结果就出现了这样的问题,请问有什么更好的办法完善一下? [此贴子已经被作者于2014-5-23 10:23:14编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/5/23 10:26:00 -- 代码
Case "变量1" |
-- 作者:wh420 -- 发布时间:2014/5/23 10:34:00 -- 明白了,问题解决。感谢两位老师 |
-- 作者:wh420 -- 发布时间:2014/5/23 11:45:00 --
[此贴子已经被作者于2014-5-23 12:00:19编辑过]
|
-- 作者:wh420 -- 发布时间:2014/5/23 11:59:00 -- 再次诚恳请教两位老师 |
-- 作者:wh420 -- 发布时间:2014/5/23 12:00:00 -- 新增加了一些数据,但前面已经做了判断如果统计表存在就不生成统计表,那这样统计表里的数据就不会更新。不管你怎样新增数据,目录数还是原来的那些记录 [此贴子已经被作者于2014-5-23 12:01:10编辑过]
|