Foxtable(狐表)用户栏目专家坐堂 → 跨表条件汇总


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

主题:跨表条件汇总

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/15 10:24:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "年月","会计科目_一级科目"
        Dim dr As DataRow = e.DataRow
        Dim filter1 As String
        filter1 = "年月 = '" & dr("年月") & "' And 会计科目_一级科目 = '" & dr("会计科目_一级科目") & "'"
        dr("本期发生额_借方") = DataTable("凭证明细").Compute("Sum(借方金额)", filter1)
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/15 12:50:00 [显示全部帖子]

以下是引用DLW77在2018/6/15 12:11:00的发言:
我重置列,年月,借方没有金额出现。我年月那个列,我看是字符型啊

 

上传具体项目测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/15 13:04:00 [显示全部帖子]

直接把你的项目文件发上来。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/15 14:39:00 [显示全部帖子]

1、你的列【会计科目_一级科目】的值有问题,有多余空格,把空格删除后,可以正常计算。

 

或者写代码清除多余空格

 

For Each r As Row In Tables("凭证明细").rows
    For Each c As Col In r.Table.cols
        r(c) = cstr(r(c)).trim
    Next
Next

 

2、报表的问题,做一个按钮,执行下面代码,可以生成对应年月的报表,如

 

DataTables("科目汇总表").LoadFilter = "年月 = '2018-01'"
DataTables("科目汇总表").Load
Dim Book As New XLS.Book(ProjectPath & "Attachments\资产负债表.xls")
Dim fl As String = ProjectPath & "Reports\资产负债表.xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()

 

注意:你beforeBuild报表事件代码请删掉


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/15 16:55:00 [显示全部帖子]

1、你foxtable里面的汇总表,应该要先得出统计数据吧?有数据才能导出到excel里面的。

 

2、模板里面,写 [!查询日期]

 

按钮click事件,赋值,如 vars("查询日期") = e.form.controls("combobox1").Text


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/19 10:25:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "会计科目_一级科目","本期发生额_借方","本期发生额_贷方"
        Dim pr As DataRow = e.DataRow
        pr("期末余额") = pr("期初余额") + pr("本期发生额_借方") - pr("本期发生额_贷方") 
 
End Select
 
如果是流水账,参考
 
 
 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/19 11:29:00 [显示全部帖子]

If e.datarow("余额方向") = "借" Then

 

Else

 

End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/19 11:54:00 [显示全部帖子]

1、你模板里面怎么写的?

 

2、msgbox(vars("查询日期"))弹出什么?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/19 12:13:00 [显示全部帖子]

你excel模板里面怎么设置的,截图说明。


 回到顶部