以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3753)

--  作者:ybmjy
--  发布时间:2009/7/30 16:04:00
--  代码问题
这段代码如何不动作
dim a as datarow=e.datarow
dim b as String="居民"
dim c as String="企业"
if a("xz")=b then
   a("sf")=a("fl") * 2.5
   a("hj")=a("sf") + a("cl") - a("jm")
  if a("xz")=c then
   a("sf")=a("fl") * 1.86
   a("hj")=a("sf") + a("cl") - a("jm")
   end if
end if

--  作者:狐狸爸爸
--  发布时间:2009/7/30 16:09:00
--  
代码没问题的话,就是条件不成立,不会有别的理由.
[此贴子已经被作者于2009-7-30 16:08:48编辑过]

--  作者:yangming
--  发布时间:2009/7/30 16:21:00
--  
你代码是放在何处的?上传文件看看?
[此贴子已经被作者于2009-7-30 16:21:08编辑过]

--  作者:czy
--  发布时间:2009/7/30 16:28:00
--  
dim a as datarow=e.datarow
If e.DataCol.Name = "xz" Then
    if a("xz")= "居民" then
        a("sf")=a("fl") * 2.5
        a("hj")=a("sf") + a("cl") - a("jm")
    End If
    if a("xz") ="企业" then
        a("sf")=a("fl") * 1.86
        a("hj")=a("sf") + a("cl") - a("jm")
    end if
End If


或用Select Case语句
--  作者:ybmjy
--  发布时间:2009/7/31 10:29:00
--  
谢谢大家,4楼的已搞定,看来少了个判断
--  作者:ybmjy
--  发布时间:2009/7/31 11:04:00
--  
请问4楼,用Select Case语句 该怎样写呢
--  作者:czy
--  发布时间:2009/7/31 22:51:00
--  
dim a as datarow = e.datarow
If e.DataCol.Name = "xz" Then
    Select Case a("xz")
        Case "居民"
            a("sf") =a("fl") * 2.5
            a("hj") =a("sf") + a("cl") - a("jm")
        Case "企业"
            a("sf") =a("fl") * 1.86
            a("hj") =a("sf") + a("cl") - a("jm")
        Case Else
            a("sf") = Nothing
            a("hj") = Nothing
    End Select
End If