以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请教自动计算代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12048) |
||||
-- 作者:yanzhen2010 -- 发布时间:2011/8/20 19:24:00 -- [求助]请教自动计算代码 费用结算表数据除了数量外,均为从医嘱表 批量添加,添加后“数量”不能自动计算。 求助数量列计算代码。
[此贴子已经被作者于2011-8-20 19:27:52编辑过]
|
||||
-- 作者:布莱克朱 -- 发布时间:2011/8/20 20:41:00 -- 没有找到医嘱表呀 |
||||
-- 作者:yanzhen2010 -- 发布时间:2011/8/20 20:47:00 -- 是长期医嘱和临时医嘱表 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/8/20 21:46:00 -- 你表述问题很精简, 可惜我没有看懂。 |
||||
-- 作者:yanzhen2010 -- 发布时间:2011/8/20 22:23:00 -- 老师不妨打开文件看看“费用结算”表,合计列代码没问题,就是数量列不能同时自动计算。数量=合计/单价 “费用结算”表数据使用filler函数从长期医嘱和临时医嘱表提取来的,合计列代码: If e.DataCol.Name = "拼音码" Then e.DataRow("合计") = DataTables("长期医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'")+ DataTables("临时医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'") End If 现在想通过“合计”计算数量,但不知代码写在何处才会起作用? [此贴子已经被作者于2011-8-20 22:29:46编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/8/20 22:29:00 -- If e.DataCol.Name = "拼音码" Then e.DataRow("合计") = DataTables("长期医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'")+ DataTables("临时医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'") e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End If If e.DataCol.Name = "拼音码" Then e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End If |
||||
-- 作者:yanzhen2010 -- 发布时间:2011/8/20 22:55:00 -- 以下是引用狐狸爸爸在2011-8-20 22:29:00的发言: If e.DataCol.Name = "拼音码" Then e.DataRow("合计") = DataTables("长期医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'")+ DataTables("临时医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'") e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End If If e.DataCol.Name = "拼音码" Then e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End If 问题没有解决,"数量"列代码不起作用
|
||||
-- 作者:yanzhen2010 -- 发布时间:2011/8/20 22:58:00 -- 问题没有解决,"数量"列代码不起作用 是不能自动计算,需要重置。 在使用过程中越来越感到代码不如表达式。代码存在明显弱势。一段表达式能解决的问题,代码写了一大堆还是不能解决。 对DataColChanged(某一列的内容被更改后执行,此时列的内容已经是更改后的值。)事件越用越不能理解。比如: 合计列已经变化了,现在要通过合计计算数量,但就是不能自动计算出来,必须重置某一列。 [此贴子已经被作者于2011-8-20 23:19:44编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/8/21 7:46:00 -- 正确的代码:
Select e.DataCol.Name
设置完成之后,要重置一次,新输入或修改的数据,都能自动计算。 认真看看帮助中事件实例的部分,事件解决问题的能力和效率,远远不是表达式能比的 [此贴子已经被作者于2011-8-21 9:20:12编辑过]
|