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


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

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

帅哥哟,离线,有人找我吗?
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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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. 

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

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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")


 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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会显示在左上角,可以把他隐藏掉,不显示出来吗?

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 16:28:00 [显示全部帖子]

哦哦,我在按钮click事件代码是这样写的:

If e.form.controls.contains("Table1") Then '已经存在表控件了
    e.form.RemoveControl("Table1")
    DataTables.Unload(e.form.name & "_Table1")

Else
Dim y As Integer = Date.Today.Year
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31) 
Dim tb2 As WinForm.Table

tb2 = e.Form.CreateSQLTable("Table1", "Select * Flom {表XXX} where 日期 >=  #" & dt1 & "#  And 日期 <= #" & dt2 & "#" ,"acc_表XXX")'
e.Form.AddControl(tb2)
e.form.controls("Table1").visible = False

DataTables("表222").dataCols("列表名").RaiseDataColChanged()
End If

然后点击这个按钮, 会提示: 不存在名称为' 表222_table" 的datatable. 未将对象引用设置到对象的实例。


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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 17:07:00 [显示全部帖子]

哦,现在什么错误提示都没有, 但是我的表222,是空白了,不显示统计数据。连表头都没有。。。。

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

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 17:29:00 [显示全部帖子]

不要 else 了?

如果不要else,就提示table1不存在了。 如果加了else判断语句,就什么都没有,错误提示和表222的统计数据也都没有。

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 17:38:00 [显示全部帖子]

我是这样的:

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

Dim y As Integer = Date.Today.Year
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31) 
Dim tb2 As WinForm.Table
tb2 = e.Form.CreateSQLTable("Table1", "Select * Flom {表XXX} where 日期 >=  #" & dt1 & "#  And 日期 <= #" & dt2 & "#" ,"acc_表XXX")'
e.Form.AddControl(tb2)
e.form.controls("Table1").visible = False


DataTables("表222").dataCols("列名").RaiseDataColChanged()
[此贴子已经被作者于2018/9/17 17:41:10编辑过]

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/19 10:13:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目project_1.rar


窗口中的二个按钮, 全年重新统计和当月重新统计,点击不显示统计结果,会出现错误提示。

谢谢甜甜1

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