以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  跨表条件汇总  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120427)

--  作者:DLW77
--  发布时间:2018/6/15 10:21:00
--  跨表条件汇总

图片点击可在新窗口打开查看此主题相关图片如下:20p(of@u)h1q4iuida$ba{g.png
图片点击可在新窗口打开查看
老师,我想把会计凭证的借方金额、贷方金额,通过年月+会计科目_一级科目的条件,汇总到,科目汇总表的本期发生额_借方、贷方。我下面这个代码重置列后没有结果出来,不知是哪里有问题呢?请指教一下,谢谢。
图片点击可在新窗口打开查看此主题相关图片如下:i%z1k)3{qjaqpj56y$urvqd.png
图片点击可在新窗口打开查看
Select Case e.DataCol.Name
    Case "年月","会计科目_一级科目"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        Dim filter1 As String
        filter1 = "年月 = \'" & dr("年月") & "\' And 会计科目_一级科目 = \'" & dr("会计科目_一级科目") & "\'"
        pr = DataTables("凭证明细").Find(filter1)
        If pr IsNot Nothing Then
            dr("本期发生额_借方") = pr("凭证明细").Compute("Sum(借方金额)","[会计科目_一级科目] = \'" & e.NewValue & "\'")
End If
End Select

--  作者:有点甜
--  发布时间: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

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

 

上传具体项目测试。


--  作者:DLW77
--  发布时间:2018/6/15 12:59:00
--  是要上传备份项目吗?
是备份项目后,上传上来吗?
--  作者:有点甜
--  发布时间:2018/6/15 13:04:00
--  
直接把你的项目文件发上来。
--  作者:DLW77
--  发布时间:2018/6/15 13:28:00
--  

比如,执行代码,红色代码改成动态的即可

 

DataTables("表A").LoadFilter = "日期 = \'2018-01\'"

DataTables("表A").Load

 

再生产报表。

还有,你昨天跟我说这个,我还是没明白,是说先在表属性的DATACOLANGED,录入这个代码?

DataTables("表A").LoadFilter = Tables("表A").Filter

DataTables("表A").Load


[此贴子已经被作者于2018/6/15 15:53:54编辑过]

--  作者:有点甜
--  发布时间: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报表事件代码请删掉


--  作者:DLW77
--  发布时间:2018/6/15 16:45:00
--  执行后,表上数据没汇总出来。

图片点击可在新窗口打开查看此主题相关图片如下:}eilj9g{~qssspntf7_2nzs.png
图片点击可在新窗口打开查看
老师,我做了个查询窗口,用按
图片点击可在新窗口打开查看此主题相关图片如下:(0e1b3z4t7i%n9c49%ae4ib.png
图片点击可在新窗口打开查看
键执行代码后,弹出的资产负债表,没有汇总金额。另外,资产负债表里的日期,怎样才能把查询窗口的日期填上去?
[此贴子已经被作者于2018/6/15 16:47:40编辑过]

--  作者:有点甜
--  发布时间:2018/6/15 16:55:00
--  

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

 

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

 

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