Foxtable(狐表)用户栏目专家坐堂 → 关于判断统计表存在的问题。


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

主题:关于判断统计表存在的问题。

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
关于判断统计表存在的问题。  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

如果表存在.就没有执行  dt = b.Build(False)  也就是没有生成一个表为DT赋值

Name你下面的代码trv.CreateTree(dt, "Language")  这个时候DT是空的,当然会报空值错误了.

你应该把下面的代码都放到IF代码段里面去.

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2014/5/23 10:18:00 [只看该作者]

可是放到IF里面去,条件不满足仍然没有为DT赋值啊?

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


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

但是同时也不会执行 trv.CreateTree(dt, "Language")  

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2014/5/23 10:22:00 [只看该作者]

因为我的这个目录是根据统计表里的字段动态生成的,以上代码是放在导航栏的”selectedindexchanged"事件中,所以每次切换就刷新一次,结果就出现了这样的问题,请问有什么更好的办法完善一下?
[此贴子已经被作者于2014-5-23 10:23:14编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/23 10:26:00 [只看该作者]

代码

 

Case "变量1"
    Dim dt As DataTable
    If  Tables.Contains("统计表")=False Then
       
        Dim b As New GroupTableBuilder("统计表",DataTables("Tran"))
        b.Groups.AddDef("Language")
        b.Totals.AddDef("TNumber",AggregateEnum.Count,"记录数")
        b.FromServer = True
       
        dt = b.Build(False)
    Else
        dt = Tables("统计表").DataTable
    End If
    Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
    trv.CreateTree(dt, "Language")
End Select


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2014/5/23 10:34:00 [只看该作者]

明白了,问题解决。感谢两位老师

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2014/5/23 11:45:00 [只看该作者]

 

[此贴子已经被作者于2014-5-23 12:00:19编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2014/5/23 11:59:00 [只看该作者]

再次诚恳请教两位老师

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2014/5/23 12:00:00 [只看该作者]

新增加了一些数据,但前面已经做了判断如果统计表存在就不生成统计表,那这样统计表里的数据就不会更新。不管你怎样新增数据,目录数还是原来的那些记录
[此贴子已经被作者于2014-5-23 12:01:10编辑过]

 回到顶部
总数 12 1 2 下一页