Foxtable(狐表)用户栏目专家坐堂 → SQLGroupTableBuilder中AddExp的条件表达式


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

主题:SQLGroupTableBuilder中AddExp的条件表达式

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 10:26:00 [显示全部帖子]

bd1.Totals.AddExp("期末余额","IIF(方向 = '借',IsNull([期初余额],0) + ISNULL([借方累计],0) - ISNULL([贷方累计],0),IsNull([期初余额],0) + ISNULL([贷方累计],0) - ISNULL([借方累计],0))")

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 11:04:00 [显示全部帖子]

如果是SqlServer,改为case when :http://www.foxtable.com/webhelp/topics/2960.htm

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 13:43:00 [显示全部帖子]

Dim bd1 As New SQLGroupTableBuilder("统计表1","会计科目") 
bd1.C
bd1.AddTable("会计科目","一级码","凭证明细","一级码")
bd1.Groups.AddDef("{会计科目}.一级码")
bd1.Groups.AddDef("科目名称")
bd1.Groups.AddDef("方向")
bd1.Groups.AddDef("期初余额")
bd1.Totals.AddDef("借方金额","借方累计")
bd1.Totals.AddDef("贷方金额","贷方累计")
Tables("窗口1_table2").DataSource = bd1.BuildDataSource
DataTables("窗口1_table2").DataCols.Add("期末余额",Gettype(Double),""IIF(方向 = '借',IsNull([期初余额],0) + ISNULL([借方累计],0) - ISNULL([贷方累计],0),IsNull([期初余额],0) + ISNULL([贷方累计],0) - ISNULL([借方累计],0))"")

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 14:37:00 [显示全部帖子]

Dim bd1 As New SQLGroupTableBuilder("统计表1","会计科目") 
bd1.C
bd1.AddTable("凭证明细","一级码","会计科目","一级码",JoinModeEnum.Right)
bd1.Groups.AddDef("{会计科目}.一级码")

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 15:02:00 [显示全部帖子]

改为JoinModeEnum.left试试

或者

bd1.AddTable("会计科目","一级码","凭证明细","一级码",JoinModeEnum.left)

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 17:03:00 [显示全部帖子]

我测试这种用法是可以的。上传实例看看

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 17:38:00 [显示全部帖子]

窗口2个按钮我测试都没有问题呀。更新到2020最新版试试

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 17:52:00 [显示全部帖子]

只有10行是正常的吧,都加了条件,符合这个条件的只有10行啊

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/12 21:01:00 [显示全部帖子]

那就只能使用SQL处理了

dim sql as string = "Select {会计科目}.一级码,科目名称,方向,期初余额,借方累计,贷方累计,IIF(方向 = '借',iif([期初余额] is null,0,期初余额) + iif([借方累计] is null,0,借方累计) - iif([贷方累计] is null,0,贷方累计),iif([期初余额] is null,0,期初余额) + iif([贷方累计] is null,0,贷方累计) - iif([借方累计] is null,0,借方累计)) as 期末余额
from {会计科目} left join (Select 一级码,sum(借方金额) As 借方累计,sum(贷方金额) As 贷方累计 from {凭证明细} where 月份 <= " & d.month  & " group by 一级码) As a on {会计科目}.一级码 = a.一级码 where {会计科目}.一级码 is not null"

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 12:00:00 [显示全部帖子]

from前面加个空格

] is null,0,借方累计)) as 期末余额 from 

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