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


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

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

美女呀,离线,留言给我吧!
lfz123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
SQLGroupTableBuilder中AddExp的条件表达式  发帖心情 Post By:2020/4/11 10:15:00 [显示全部帖子]

老师,黄色条件部分应该怎么写啊,数据源是access,表达式里面的红色背景是新生成的统计列
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("贷方金额","贷方累计")
'bd1.Totals.AddExp("期末余额","方向 = '借',IsNull([期初余额],0) + ISNULL([借方累计],0) - ISNULL([贷方累计],0),IsNull([期初余额],0) + ISNULL([贷方累计],0) - ISNULL([借方累计],0))")
Tables("窗口1_table2").DataSource = bd1.BuildDataSource
[此贴子已经被作者于2020/4/11 10:25:54编辑过]

 回到顶部
美女呀,离线,留言给我吧!
lfz123
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
回复:(有点蓝)bd1.Totals.AddExp("期末余额","IIF(...  发帖心情 Post By:2020/4/11 10:36:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
lfz123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
回复:(有点蓝)如果是SqlServer,改为case whe...  发帖心情 Post By:2020/4/11 12:10:00 [显示全部帖子]

老师是access数据源喔


 回到顶部
美女呀,离线,留言给我吧!
lfz123
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
  发帖心情 Post By:2020/4/11 14:26: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))"")

 回到顶部
美女呀,离线,留言给我吧!
lfz123
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
回复:(有点蓝)Dim bd1 As New SQLGroupTableBuilde...  发帖心情 Post By:2020/4/11 14:52:00 [显示全部帖子]

错误提示如下

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
完整代码如下:
Dim cnt As WinForm.ComboBox = e.Form.Controls("ComboBox1")
If cnt.Text > "" Then
    Dim d As Date = cdate(cnt.Text)
    Dim bd1 As New SQLGroupTableBuilder("统计表1","会计科目")
    bd1.C
    bd1.AddTable("凭证明细","一级码","会计科目","一级码",JoinModeEnum.Right)
    bd1.filter = "{凭证明细}.月份 <= " & d.month
    bd1.Groups.AddDef("{会计科目}.一级码") '
    bd1.Groups.AddDef("科目名称")
    bd1.Groups.AddDef("方向")
    bd1.Groups.AddDef("期初余额")
    bd1.Totals.AddDef("借方金额","借方累计")
    bd1.Totals.AddDef("贷方金额","贷方累计")
    Tables("窗口1_table2").DataSource  = bd1.BuildDataSource    
    With DataTables("窗口1_table2").DataCols
        .Add("期末余额",Gettype(Double), "iif(方向 = '借',IsNull([期初余额],0) + ISNULL([借方累计],0) - ISNULL([贷方累计],0),IsNull([期初余额],0) + ISNULL([贷方累计],0) - ISNULL([借方累计],0))")
    End With
End If


 回到顶部
美女呀,离线,留言给我吧!
lfz123
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
回复:(有点蓝)改为JoinModeEnum.left试试或者bd1.A...  发帖心情 Post By:2020/4/11 16:43:00 [显示全部帖子]

老师,您给的这段代码和前面的代码都没有问题,我后来测试出主要是我的filter条件限制了导致的,这个问题该怎么解决呢
bd1.filter = "{凭证明细}.月份 <= " & d.month

 回到顶部
美女呀,离线,留言给我吧!
lfz123
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
回复:(有点蓝)我测试这种用法是可以的。上传实例看...  发帖心情 Post By:2020/4/11 17:19:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip


 回到顶部
美女呀,离线,留言给我吧!
lfz123
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
回复:(有点蓝)窗口2个按钮我测试都没有问题呀。更新...  发帖心情 Post By:2020/4/11 17:45:00 [显示全部帖子]

老师,可我已经是最新版本啊,一个现实只有10行,一个显示有85行

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2020/4/11 17:46:11编辑过]

 回到顶部
美女呀,离线,留言给我吧!
lfz123
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
回复:(有点蓝)只有10行是正常的吧,都加了条件,符...  发帖心情 Post By:2020/4/11 17:59:00 [显示全部帖子]

我是想借方累计和贷方累计按照我选择的月份来统计凭证明细的数据,但会计科目中的所有一级编码一个都不少的也全部显示,因为父表有期初余额,我在其他表上要用到这些新统计出来的数据,改如何处理啊
其实最终我是不要显示这张表的,只要结果,然后引用他即可,有什么方法两个要求都能满足吗,
[此贴子已经被作者于2020/4/11 18:02:12编辑过]

 回到顶部
美女呀,离线,留言给我吧!
lfz123
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:530 积分:4613 威望:0 精华:0 注册:2018/3/24 18:04:00
回复:(有点蓝)那就只能使用SQL处理了dim sql as st...  发帖心情 Post By:2020/4/14 11:35:00 [显示全部帖子]

老师我写了SQL语句有提示,麻烦您在帮我看下,

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip




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