Foxtable(狐表)用户栏目专家坐堂 → 窗口中的数据表不能实现实时统计


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

主题:窗口中的数据表不能实现实时统计

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/22 22:58:00 [显示全部帖子]

CurrentTableChanged事件,写代码

 

If CurrentTable.Name = "表1" Then
    DataTables("表2").dataCols("列名").RaiseDataColChanged()
End If

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 9:58:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 11:38:00 [显示全部帖子]

 你什么时候需要实时计算,就在什么事件加上代码 DataTables("表2").dataCols("列名").RaiseDataColChanged()

 

 比如,你可以在dataColChanged事件加上。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 15:54:00 [显示全部帖子]

以下是引用cyrollin在2017/3/23 15:29:00的发言:

在此事件加入这个代码,打开和关闭相应窗口变得很慢,是正常的吗?

 

如果你这句代码 DataTables("表2").dataCols("列名").RaiseDataColChanged() 执行耗时,那自然会耗时。

 

1、把你的计算优化一下;

 

2、改变一下计算的思路,不要那么实时的计算结果。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 17:28:00 [显示全部帖子]

按钮代码这样写

 

Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As Date = dt1.AddMonths(1)
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 < #" & dt2 & "#"
Tables("表1").Filter = Filter
DataTables("表2").dataCols("列名").RaiseDataColChanged(Filter)


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 18:23:00 [显示全部帖子]

你表2根据什么条件刷新?

 

Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As Date = dt1.AddMonths(1)
Dim Filter As String = "日期 >= #" & dt1 & "# And 日期 < #" & dt2 & "#"

Dim Filter2 As String = "时间 >= #" & dt1 & "# And 时间 < #" & dt2 & "#"
Tables("表1").Filter = Filter
DataTables("表2").dataCols("列名").RaiseDataColChanged(Filter2)


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 18:50:00 [显示全部帖子]

那就不加条件吧,直接写。

 

DataTables("表2").dataCols("列名").RaiseDataColChanged()


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 18:50:00 [显示全部帖子]

最好做个例子上来测试

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/24 10:02:00 [显示全部帖子]

Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As Date = dt1.AddMonths(1)
Dim Filter As String = "日期 >= #" & dt1 & "# And 日期 < #" & dt2 & "#"

Tables("表1").DataTable.LoadFilter = Filter

Tables("表1").DataTable.Load
DataTables("表2").dataCols("列名").RaiseDataColChanged()


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/31 16:22:00 [显示全部帖子]

 你把你表2的dataColChanged事件的代码贴出来

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