Rss & SiteMap

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

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

标题:[求助]合计代码不执行,请教问题何在?

1楼
yanzhen2010 发表于:2011/8/15 13:37:00

Select Case e.DataCol.Name
    Case "数量","剂量"
        If e.DataRow("剂量") Is Nothing Then
            e.DataRow("合计") = e.DataRow("数量")*e.DataRow("单价")
        End If
        If e.DataRow("数量") Is Nothing Then
            e.DataRow("合计") = e.DataRow("剂量")*e.DataRow("单价")
        End If
End Select

 

上述代码为何不执行,望不吝赐教

 表datacolchanged事件

 

[此贴子已经被作者于2011-8-15 13:39:40编辑过]
2楼
狐狸爸爸 发表于:2011/8/15 13:50:00

Select Case e.DataCol.Name
    Case "数量","剂量","单价"
        If e.DataRow("剂量") Is Nothing Then
            e.DataRow("合计") = e.DataRow("数量") * e.DataRow("单价")
        ElseIf e.DataRow("数量") Is Nothing Then
            e.DataRow("合计") = e.DataRow("剂量") * e.DataRow("单价")
        End If
End Select

3楼
yanzhen2010 发表于:2011/8/15 14:46:00
以下是引用狐狸爸爸在2011-8-15 13:50:00的发言:

Select Case e.DataCol.Name
    Case "数量","剂量","单价"
        If e.DataRow("剂量") Is Nothing Then
            e.DataRow("合计") = e.DataRow("数量") * e.DataRow("单价")
        ElseIf e.DataRow("数量") Is Nothing Then
            e.DataRow("合计") = e.DataRow("剂量") * e.DataRow("单价")
        End If
End Select

老师,代码依然不执行,真是怪事

4楼
狐狸爸爸 发表于:2011/8/15 14:56:00
自己设计好一个表,有这三列,输入测试数据,写上你的代码,然后传上来。
5楼
yanzhen2010 发表于:2011/8/15 15:33:00

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

 

“临时医嘱”数据表

文件已上传,请老师过目。

实在看不出问题出在何处。

 

 

问题为解决,等待高手进入

[此贴子已经被作者于2011-8-15 16:50:27编辑过]
6楼
狐狸爸爸 发表于:2011/8/15 16:54:00

这样改一下:

 

Select Case e.DataCol.Name
    Case "数量","剂量","单价"
        If e.DataRow("剂量") IsNot Nothing Then
            e.DataRow("合计") = e.DataRow("剂量") * e.DataRow("单价")
        ElseIf e.DataRow("数量") IsNot Nothing Then
            e.DataRow("合计") = e.DataRow("数量") * e.DataRow("单价")
        End If
End Select

7楼
yanzhen2010 发表于:2011/8/15 17:43:00
以下是引用狐狸爸爸在2011-8-15 16:54:00的发言:

这样改一下:

 

Select Case e.DataCol.Name
    Case "数量","剂量","单价"
        If e.DataRow("剂量") IsNot Nothing Then
            e.DataRow("合计") = e.DataRow("剂量") * e.DataRow("单价")
        ElseIf e.DataRow("数量") IsNot Nothing Then
            e.DataRow("合计") = e.DataRow("数量") * e.DataRow("单价")
        End If
End Select

 

代码依然有问题,只有"剂量"列有数值时计算,"数量"列数值不计算

8楼
don 发表于:2011/8/15 17:58:00
Select Case e.DataCol.Name
    Case "数量","剂量","单价" 
           Dim n1,n2 as Double     
            n1 = e.DataRow("剂量")
            n2 = e.DataRow("数量")
            e.DataRow("合计") = iif(n1=0,1,n1) *iif(n2=0,1,n2) * e.DataRow("单价")        
End Select
9楼
yanzhen2010 发表于:2011/8/15 18:54:00
朋友没有明白我的意思。但谢谢帮助。
我的意思是:"数量"和"剂量"只允许其中之一参与合计的计算。不能是
"数量"*"剂量*"单价"
10楼
狐狸爸爸 发表于:2011/8/15 20:52:00
Select Case e.DataCol.Name
    Case "数量","剂量","单价"
        If e.DataRow.IsNull("剂量")= False Then
            e.DataRow("合计") = e.DataRow("剂量") * e.DataRow("单价")
        ElseIf e.DataRow.Isnull("数量") = False Then
            e.DataRow("合计") = e.DataRow("数量") * e.DataRow("单价")
        End If
End Select
共15 条记录, 每页显示 10 条, 页签: [1] [2]

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

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