Foxtable(狐表)用户栏目专家坐堂 → 创建了一个副本,提示副本不存在


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

主题:创建了一个副本,提示副本不存在

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
创建了一个副本,提示副本不存在  发帖心情 Post By:2018/9/14 18:15:00 [只看该作者]

按操作要求,需要创建一个副本,需要在副本里面进行统计。

       Dim tb2 As WinForm.Table
        tb2 = e.Form.CreateSQLTable("Table1", "Select * Flom {表名}" ,"数据来源")
       ' e.Form.AddControl(tb2)
        
        For i As Integer = 0 To cns1.Length - 1
                        
            Dim d As Date = new Date(Date.Today.Year, i+1, 1)
            Dim cp As Integer = DataTables("tb2").compute("count(姓名)", filter & " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#")
            e.DataRow(cns1(i)) = IIF(cp=0,Nothing,cp)
            Dim c As Double = DataTables("tb2").compute("sum(数量)", filter & " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#")
            e.DataRow(cns2(i)) = IIF(c=0,Nothing,c)
        Next
    End If



错误提示: 不存在名称为”tb2"的"DataTable!

[此贴子已经被作者于2018/9/14 18:22:22编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106055 积分:539368 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/14 20:16:00 [只看该作者]

tb2.table.datatable.compute(........

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 9:31:00 [只看该作者]

好的,谢谢。 这个副本会自动关闭吗?
如果不能,要这样关闭吗?

tb2.table.datatable.unload()
[此贴子已经被作者于2018/9/17 9:31:44编辑过]

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


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

以下是引用cyrollin在2018/9/17 9:31:00的发言:
好的,谢谢。 这个副本会自动关闭吗?
如果不能,要这样关闭吗?

tb2.table.datatable.unload()
[此贴子已经被作者于2018/9/17 9:31:44编辑过]

 

窗口关闭之后,会自动移除的,不需要卸载。

 

如果在窗口运行的过程想卸载,可以这样写代码

 

e.form.RemoveControl("Table1")

DataTables.Unload(e.form.name & "_Table1")


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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 14:35:00 [只看该作者]

好的, 我设计了一个按钮, 单击这个按钮会生成这个副本, 然后在一个表的 datacolchanged 事件计算这个副本提供的数据

。。。
Dim cp As Integer = DataTables("table1").compute("count(姓名)"。。。
。。。


运行时错误提示: 不存在名称为“Table1”的 datatable. 

在这个表里面怎么使用这个生成的副本呢?

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


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

改成

 

Dim cp As Integer = DataTables(e.form.name & "_table1").compute("count(姓名)"

 

或者

 

Dim cp As Integer = e.form.controls("Table1").Table.compute("count(姓名)"


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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 14:55:00 [只看该作者]

谢谢,搞定。。

不过这个按钮只能按一次, 如果再次按,会出现“。。。名为"XXx表_table1的datatable已属于此dataset。。。”
是不是统计出来了,要关掉这个副本?

e.form.RemoveControl("Table1")

DataTables.Unload(e.form.name & "_Table1")


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


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

以下是引用cyrollin在2018/9/17 14:55:00的发言:
谢谢,搞定。。

不过这个按钮只能按一次, 如果再次按,会出现“。。。名为"XXx表_table1的datatable已属于此dataset。。。”
是不是统计出来了,要关掉这个副本?

e.form.RemoveControl("Table1")

DataTables.Unload(e.form.name & "_Table1")

 

不需要关掉这个表格。当你需要重新生成的时候,你可以用fill

 

If e.form.controls.contains("Table1") Then '已经存在表控件了

    e.form.controls("table1").table.fill("sql语句", "数据源", true或false)

Else

    原来的代码,如 e.Form.CreateSQLTable

End If


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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 15:50:00 [只看该作者]

1.哦,但是有这种情况, 
以前生成过副本table1, 但是我的主表数据修改了, 需要重新生成一下副本table1。 
这种情况怎么办?


2.生成的副本table1可以隐藏吗?现在生成的副本table1会显示在左上角,可以把他隐藏掉,不显示出来吗?

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


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

1、你要重新生成,那就用8楼的代码;当然,你用4楼的代码移除也可以;

 

2、隐藏table,参考

 

e.form.controls("Table1").visible = false


 回到顶部
总数 23 1 2 3 下一页