Foxtable(狐表)用户栏目专家坐堂 → 还是SQLFIND和FIND的区别


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

主题:还是SQLFIND和FIND的区别

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


加好友 发短信
等级:幼狐 帖子:59 积分:647 威望:0 精华:0 注册:2017/11/15 23:55:00
还是SQLFIND和FIND的区别  发帖心情 Post By:2018/2/22 18:04:00 [只看该作者]

为什么把SQLFIND改为FIND后可以完美运行,改回SQLFIND后不能运行呢
代码如下:
 '修改或者新增充值条目的时候,自动汇总至余额统计表里
If e.DataCol.Name = "充值金额" Then
    DataTables("主卡充值流水").Save
    Dim pr As DataRow
    pr = DataTables("主卡余额汇总流水").sqlFind("系统主卡编号 = '" & e.DataRow("系统主卡编号") & "' and 汇总日期 = '" & e.DataRow("充值日期") & "'","汇总日期 desc")
    If pr IsNot Nothing Then
        DataTables("主卡余额汇总流水").DataCols("系统主卡编号").RaiseDatacolchanged(pr)
    End If
End If

找到原因了,为什么不是DataTables("主卡充值流水").Save ,而是pr.save
[此贴子已经被作者于2018/2/22 18:20:32编辑过]

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


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

sqlFind只能查询已经保存的数据。新增的、修改的数据,查不到。

 

再有就是,如果你表格【主卡余额汇总流水】没有把数据加载出来,是无法触发重置列操作的。


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


加好友 发短信
等级:幼狐 帖子:59 积分:647 威望:0 精华:0 注册:2017/11/15 23:55:00
  发帖心情 Post By:2018/2/22 18:30:00 [只看该作者]

  感谢大大,找到原因了,为什么不是DataTables("主卡余额汇总流水").Save ,而是pr.save

那么当前表格未加载往期数据的话,如果触发重置呢~

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


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

1、不明白你save的问题,请具体说明。如果你数据是后台查询出来的,必须用pr.save。

 

2、没有加载出来的数据,无法触发重置。你需要单独写代码实现各种逻辑。具体问题,参考 http://www.foxtable.com/webhelp/scr/2926.htm

 


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


加好友 发短信
等级:幼狐 帖子:59 积分:647 威望:0 精华:0 注册:2017/11/15 23:55:00
  发帖心情 Post By:2018/2/22 22:32:00 [只看该作者]

 明白了,版主还有1问题需您解惑:
    现在设计的流水账稍复杂,由收入流水、收入冲红流水和支出、支出冲红流水,四张单独的表进行记录的流水账,然后跨表统计汇总到另外的一个统计表, 该统计表有期初、收入、支出、余额四列。
分页加载流水账的例子,下面批注的代码原理中,“如果修改的是第一行,那么就先用SQLCompute方法,从后台计算出此行之前的结存,第一行的收入减去支出,再加上之前的结存,就是第一行的余额。”这种计算之前结存的方式,假如第一行前面有5万行数据,那这个运算速度可能会非常慢。
我目前针对这个问题,准备将SQLcompute改成SQLFIND,在数据库中找出倒数第一个值的“余额”列,然后取值,加上第一行的收入减去支出,就是本期的结存。是否可行?和例子相比有什么缺点?

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


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

无论多少行数据,是用sqlcompute计算,都是瞬间可以计算出结果的,而且只需要计算一次。


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


加好友 发短信
等级:幼狐 帖子:59 积分:647 威望:0 精华:0 注册:2017/11/15 23:55:00
  发帖心情 Post By:2018/2/22 22:42:00 [只看该作者]

感谢!

 回到顶部