以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 老问题解决了,新问题跟着来了。自动计算惹的祸 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=12064)
|
-- 作者:yanzhen2010
-- 发布时间:2011/8/21 14:42:00
-- 老问题解决了,新问题跟着来了。自动计算惹的祸
项目中“费用结算”表代码问题。当在“费用结算”窗口选择病人点击常规结算按钮时项目自动关闭。
找不到问题在哪?表事件中没有代码时按钮代码正常。
Select e.DataCol.Name Case = "拼音码" e.DataRow("合计") = DataTables("长期医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'")+ DataTables("临时医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'") Case "单价","数量" e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End Select
|
-- 作者:lihe60
-- 发布时间:2011/8/21 15:07:00
--
以下是引用yanzhen2010在2011-8-21 14:42:00的发言:
项目中“费用结算”表代码问题。当在“费用结算”窗口选择病人点击常规结算按钮时项目自动关闭。
找不到问题在哪?表事件中没有代码时按钮代码正常。
Select e.DataCol.Name Case = "拼音码" e.DataRow("合计") = DataTables("长期医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'")+ DataTables("临时医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'") Case "单价","数量" e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End Select
这是个死循环。
Select e.DataCol.Name Case = "拼音码" e.DataRow("合计") = DataTables("长期医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'")+ DataTables("临时医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'") Case "单价" e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End Select
|
-- 作者:yanzhen2010
-- 发布时间:2011/8/21 15:43:00
--
以下是引用lihe60在2011-8-21 15:07:00的发言:
这是个死循环。
Select e.DataCol.Name Case = "拼音码" e.DataRow("合计") = DataTables("长期医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'")+ DataTables("临时医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'") Case "单价" e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End Select
和老总的代码怎么会是死循环?怎么弄成活循环呢?
|
-- 作者:lihe60
-- 发布时间:2011/8/21 16:45:00
--
以下是引用yanzhen2010在2011-8-21 15:43:00的发言:
和老总的代码怎么会是死循环?怎么弄成活循环呢?
当数量列变化时,执行一次 e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价"); 执行一次 e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价"),数量列发生变化;
如此循环下去。
|
-- 作者:lihe60
-- 发布时间:2011/8/21 16:46:00
--
我也是纸上谈兵,没有在你的项目止测试过。楼主自己测试一下
Select e.DataCol.Name Case = "拼音码" e.DataRow("合计") = DataTables("长期医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'")+ DataTables("临时医嘱").Compute("Sum(合计)","[拼音码] = \'" & e.NewValue & "\'And [住院号] = \'"& e.DataRow("住院号") &"\'") Case "单价" e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价") End Select
|
-- 作者:yanzhen2010
-- 发布时间:2011/8/21 16:47:00
--
以下是引用lihe60在2011-8-21 16:45:00的发言:
当数量列变化时,执行一次 e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价"); 执行一次 e.DataRow("数量") = e.DataRow("合计")/e.DataRow("单价"),数量列发生变化;
如此循环下去。
原来如此啊,老总怎么没发现?
|
-- 作者:lihe60
-- 发布时间:2011/8/21 16:49:00
--
不知有没有解决你的问题?
|
-- 作者:yanzhen2010
-- 发布时间:2011/8/21 18:37:00
--
谢谢朋友,我正在测试。。。
|
-- 作者:yanzhen2010
-- 发布时间:2011/8/21 19:01:00
--
5楼的朋友,谢谢你。代码运行正常。
|