Foxtable(狐表)用户栏目专家坐堂 → 实时加载数据


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

主题:实时加载数据

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
实时加载数据  发帖心情 Post By:2022/8/19 18:11:00 [只看该作者]

我有一个"销售单"这个数据表,希望在这个表里面输入“产品代号”时,能够从数据库的“物料字典”里面加载这个产品代号实时的库存数量,因为在我登录 foxtable 时与我现在输入这个产品代号时,这个产品代号在数据库里面的库存数量可能已经发生了变化,所以我希望得到当前的库存数量,而不是我登录系统时加载到的库存数量。这样的话,我不用专门去同步“物料字典”这个表,就可以得到最新的库存数据。请问有什么代码可以实现这个目标吗?谢谢。

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


加好友 发短信
等级:九尾狐 帖子:2239 积分:18440 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/8/20 8:19:00 [只看该作者]

直接定义一个后台查询表就可以了

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


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


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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/8/20 14:58:00 [只看该作者]

我在"物料字典"之 datacolchanged 里面设置了如下代码:
If e.DataCol.Name = "物料编号" Then
    Dim Val As Single
    Val = DataTables("出入库").SQLCompute("Sum(出入库数量)","物料编号 = '" & e.datarow("物料编号") & "'")  'SQLCompute用于计算后台所有数据
    e.DataRow("出入库累计T1") = Val
End If

然后在 afteropenproject 里面设置了如下代码:
DataTables("物料字典").DataCols("物料编号").RaiseDataColChanged() '用于统计后台数据

目的是在打开项目时统计每个物料的出入库数量。但是,在启动 foxtable 时速度非常慢。有什么方法可以加快打开项目时的速度吗?谢谢。



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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/8/20 15:13:00 [只看该作者]

没有必要做这种重置的计算。在业务处理的过程中,什么时候需要的时候再去数据库取数据。比如用户录入物料编号001,希望查看001的各种数据的时候,再用数据库查询001的数据

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/8/20 16:11:00 [只看该作者]

好的。

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/8/23 16:27:00 [只看该作者]

我在"物料字典"之 datacolchanged 里面设置了如下代码:
If e.DataCol.Name = "物料编号" Then
    Dim Val As Single
    Val = DataTables("出入库").SQLCompute("Sum(出入库数量)","物料编号 = '" & e.datarow("物料编号") & "'")  'SQLCompute用于计算后台所有数据
    e.DataRow("出入库累计T1") = Val
End If

我在"出入库"之 datacolchanged 里面设置了如下代码:
If e.DataCol.name = "出入库数量" Then
    DataTables("物料字典").DataCols("物料编号").RaiseDataColChanged("物料编号 = '" & e.DataRow("物料编号") & "'")
end if

当我在"出入库"里面输入新的数据行时,就会触发"物料字典"重新计算出入库数量之和,但是它并不会把新增数据行的数据计算进去,而只是计算了原有数据行的数据。这是为什么呢?


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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/8/23 16:30:00 [只看该作者]

SQLCompute只能统计已经保存的数据

If e.DataCol.name = "出入库数量" Then
e.DataRow.save
    DataTables("物料字典").DataCols("物料编号").RaiseDataColChanged("物料编号 = '" & e.DataRow("物料编号") & "'")
end if

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/8/23 17:12:00 [只看该作者]

datarowdeleted 事件里面是否也要加 e.DataRow.save,SQLCompute才能统计删除数据行之后的数据呢?

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/8/23 17:28:00 [只看该作者]

是的

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