Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:老问题解决了,新问题跟着来了。自动计算惹的祸

1楼
yanzhen2010 发表于:2011/8/21 14:42:00

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:住院收费.rar

 

项目中“费用结算”表代码问题。当在“费用结算”窗口选择病人点击常规结算按钮时项目自动关闭。

找不到问题在哪?表事件中没有代码时按钮代码正常。


 

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

2楼
lihe60 发表于:2011/8/21 15:07:00
以下是引用yanzhen2010在2011-8-21 14:42:00的发言:

 下载信息  [文件大小:349.1 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:住院收费.rar

 

项目中“费用结算”表代码问题。当在“费用结算”窗口选择病人点击常规结算按钮时项目自动关闭。

找不到问题在哪?表事件中没有代码时按钮代码正常。


 

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

3楼
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

和老总的代码怎么会是死循环?怎么弄成活循环呢?

4楼
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("单价"),数量列发生变化;

如此循环下去。

5楼
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

6楼
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("单价"),数量列发生变化;

如此循环下去。

原来如此啊,老总怎么没发现?

7楼
lihe60 发表于:2011/8/21 16:49:00
不知有没有解决你的问题?
8楼
yanzhen2010 发表于:2011/8/21 18:37:00

谢谢朋友,我正在测试。。。

9楼
yanzhen2010 发表于:2011/8/21 19:01:00
5楼的朋友,谢谢你。代码运行正常。图片点击可在新窗口打开查看
共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 3 queries.