Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
请教下面文件“收支总表”的[结余]列代码和[表B金额]列代码。该两列设置为表达式列,因没设置表达式,所填数据不能保存到文件中,故在表中加了“结余列数据样式”和“表B列数据样式”,也就是[结余]数据=“结余列数据样式”数据,[表B金额]数据=“表B列数据样式”数据
,,[表B金额]为表B金额列数据。
下载信息 [文件大小: 下载次数: ] | |
点击浏览该文件:收支账13.table |
谢谢!
下载信息 [文件大小: 下载次数: ] | |
点击浏览该文件:收支账-kylin.table |
1、“表B”[金额]列数据参见表B的DataColChanged事件
2、“收支总表”的[结余]列参见该列的计算代码以及该表的DataColChanged事件
不好意思,要去开会了,有问题请留言,呵呵!
If e.DataRow("日期") Is Nothing Then
Return
End if
Dim sum As Integer = dataTables("收支总表").Compute("Sum(收入)", "_Identify <= " & e.datarow("_identify"))
Dim sum1 As Integer = dataTables("收支总表").Compute("Sum(支出)", "_Identify <= " & e.datarow("_identify"))
e.DataRow(e.DataCol.Name) = sum -sum1
谢谢kylin先生!收支总表[结余]列代码非常好,表B的金额列的代码我也感到新奇。是我没说清楚,[表B金额]列也是“收支总表”的一个列,我是想在这列引用表B金额列的按月汇总的金额数据,最好不用关联表。
如果要小数,将下面的Integer改为Double
Dim sum As Integer = dataTables("收支总表").Compute("Sum(收入)", "_Identify <= " & e.datarow("_identify"))
Dim sum1 As Integer = dataTables("收支总表").Compute("Sum(支出)", "_Identify <= " & e.datarow("_identify"))
也就是:
Dim sum As Double = dataTables("收支总表").Compute("Sum(收入)", "_Identify <= " & e.datarow("_identify"))
Dim sum1 As Double = dataTables("收支总表").Compute("Sum(支出)", "_Identify <= " & e.datarow("_identify"))
如果要小数,将下面的Integer改为Double
Dim sum As Integer = dataTables("收支总表").Compute("Sum(收入)", "_Identify <= " & e.datarow("_identify"))
Dim sum1 As Integer = dataTables("收支总表").Compute("Sum(支出)", "_Identify <= " & e.datarow("_identify"))
也就是:
Dim sum As Double = dataTables("收支总表").Compute("Sum(收入)", "_Identify <= " & e.datarow("_identify"))
Dim sum1 As Double = dataTables("收支总表").Compute("Sum(支出)", "_Identify <= " & e.datarow("_identify"))
这个无法实现流水账,因为缺少循环控制,无法自动更新本笔之后的结余.
这个_identify对外部表好象无效.
个人以为老六的流水帐为经典之作,呵呵!
这个无法实现流水账,因为缺少循环控制,无法自动更新本笔之后的结余.
这个_identify对外部表好象无效.
个人以为老六的流水帐为经典之作,呵呵!
如果是外部表,何不把自动增量主键名称改成“_identify”?那样加载数据后还减少了一列。
另外有些流水帐不一定有日期列的,如果没有日期列,用_identify做条件应该是个不错的选择。
传统意义上的流水帐是以每一条数据做为一个结余,但老六的这段代码存在一个缺憾,就是如果一天中如果有多笔数据出入的话就只能以一天来进行结余计算,所以个人认为还需再加个条件才能满足要求。