Foxtable(狐表)用户栏目专家坐堂 → [求助]如何在加载的table(SQLTable类型)实现列于列之间的公式运算?


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

主题:[求助]如何在加载的table(SQLTable类型)实现列于列之间的公式运算?

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


加好友 发短信
等级:一尾狐 帖子:402 积分:4996 威望:0 精华:0 注册:2015/4/30 15:42:00
[求助]如何在加载的table(SQLTable类型)实现列于列之间的公式运算?  发帖心情 Post By:2015/9/8 10:56:00 [只看该作者]

 

查询“窗口1”中的SQLTable类型的“table1”加载了表A中的“应支付金额”、“ 已支付金额”列数据,我在“窗口1 _table1”中通过代码“DataTables("窗口1_Table1").DataCols.Add("未支付金额", Gettype(Double))”新增了“未支付金额”列,请教如何通过代码实现“未支付金额=应支付金额-已支付金额”功能


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/9/8 11:11:00 [只看该作者]

方法一,使用表达式列

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=74305

 

方法二,在DataColChanged 中跟踪“应支付金额”和“ 已支付金额”列值的变动,然后更新未支付金额列的值

http://www.foxtable.com/help/topics/0625.htm


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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2015/9/8 11:24:00 [只看该作者]

DataTables("订单").DataCols.Add("金额", GetType(Double), "[数量] * [单价] * (1 - [折扣])")

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


加好友 发短信
等级:一尾狐 帖子:402 积分:4996 威望:0 精华:0 注册:2015/4/30 15:42:00
  发帖心情 Post By:2015/9/8 11:28:00 [只看该作者]

方法一、新增的“未支付金额”表达式列不能实现统计功能

方法二、不可行,“未支付金额”列没有数据。我想直接点击查询按钮就能实现计算功能


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/8 11:31:00 [只看该作者]

1、DataTables("窗口1_Table1").DataCols.Add("未支付金额", Gettype(Double),"应支付金额-已支付金额")

 

2、直接用表达式列吧,看1


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


加好友 发短信
等级:一尾狐 帖子:402 积分:4996 威望:0 精华:0 注册:2015/4/30 15:42:00
  发帖心情 Post By:2015/9/8 11:50:00 [只看该作者]

未支付金额列还是没有数据,大红袍老师麻烦您帮忙看一下代码有没有错误

Dim Filter As String

.............

.............

DataTables("窗口1_Table1").LoadFilter = Filter '设置加载条件
DataTables("窗口1_Table1").Load() '加载数据
DataTables("窗口1_Table1").DataCols.Add("未支付金额", Gettype(Double),"[应支付金额] - [已支付金额]")
With Tables("窗口1_Table1")
    .Cols("应支付金额").GrandTotal = True 

    .Cols("已支付金额").GrandTotal = True
    .Cols("未支付金额").GrandTotal = True
    .GrandTotal = True '显示合计模式
End With


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/8 11:55:00 [只看该作者]

呃,不可能吧?

 

DataTables("窗口1_Table1").DataCols.Add("未支付金额", Gettype(Double),"isnull([应支付金额],0) - isnull([已支付金额],0)")


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


加好友 发短信
等级:一尾狐 帖子:402 积分:4996 威望:0 精华:0 注册:2015/4/30 15:42:00
  发帖心情 Post By:2015/9/8 12:02:00 [只看该作者]

 大红袍老师,还有个问题就是用了表达式列后未支付金额是显示出来了,但是“.Cols("未支付金额").GrandTotal = True”这个功能没有实现,不知道怎么实现

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/8 12:12:00 [只看该作者]

呃,不应该,例子说明。

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


加好友 发短信
等级:一尾狐 帖子:402 积分:4996 威望:0 精华:0 注册:2015/4/30 15:42:00
  发帖心情 Post By:2015/9/8 12:32:00 [只看该作者]

问题已解决了,谢谢大红袍老师


 回到顶部