猿问

运行时却不行,什么反应都没有?为什么?

Sub selDiscount_onclick
'change
dim curVip
if myform.selDiscount.value<>"0" then
curVip=CCur(CCur(myform.shichangjia.value)*(CSNG(myform.selDiscount.value)-5)/100)
else
curVip=1
end if
myform.vipjia.value=curVip
End Sub

上面是一个onclick()事件代码,当selDiscount的值不为0时(这是一个Select下拉框)就为curVip变量赋值,最后将curVip变量赋值给vipjia文本框,我的程序中还有一个选项(同样为文本框,文本框的name为huiyuanjia),我想实现在同样的条件下(即当selDiscount下拉框的值不为0这个条件),同时为vipjia和huiyuanjia两个文本框赋值,曾看到如下代码:
条件为 True 和 False 时分别运行某些语句
可以使用 If...Then...Else 语句定义两个可执行语句块:条件为 True 时运行某一语句块,条件为 False 时运行另一语句块。
Sub AlertUser(value)
If value = 0 Then
AlertLabel.ForeColor = vbRed
AlertLabel.Font.Bold = True
AlertLabel.Font.Italic = True
Else
AlertLabel.Forecolor = vbBlack
AlertLabel.Font.Bold = False
AlertLabel.Font.Italic = False
End If
End Sub

上面的代码就是如果value的值为0时则运行多条语句,否则运行另外几条语句,我也想实现如上功能,我修改了一下代码,改为如下:
Sub selDiscount_onclick
'change
dim curVip,curhuiyuanjia
if myform.selDiscount.value<>"0" then
curVip=CCur(CCur(myform.shichangjia.value)*(CSNG(myform.selDiscount.value)-5)/100)
curhuiyuanjia=CCur(CCur(myform.shichangjia.value*(CSNG(myform.selDiscount.value)/100)
else
curVip=1
curhuiyuanjia=1
end if
myform.vipjia.value=curVip
myform.curhuiyuanjia.value=curhuiyuanjia
End Sub

但运行时却不行,什么反应都没有了,而最上面的那条语句就可以正常运行,想来想去的还是想不出解法,希望得到大家的指点,正确的写法如何写呢?我的意思应该能看的懂吧,就是myform.selDiscount.value<>"0"这个条件成立时则同时修改vipjia和curhuiyuanjia两个文本框的值,就这个意思。先在这儿谢谢大家了。

希望大家回复前最好能在本机测试一下,这是客户端代码,测试环境应该没问题。
不行,curhuiyuanjia=CCur(CCur(myform.shichangjia.value)*(CSNG(myform.selDiscount.value)/100))这样不行,好象只能运行一条语句,即if myform.selDiscount.value<>"0" then
curVip=CCur(CCur(myform.shichangjia.value)*(CSNG(myform.selDiscount.value)-5)/100)这里的then后面只能运行一条语句。

慕森王
浏览 449回答 1
1回答

翻过高山走不出你

curhuiyuanjia=CCur(CCur(myform.shichangjia.value*(CSNG(myform.selDiscount.value)/100)改为:curhuiyuanjia=CCur(CCur(myform.shichangjia.value)*(CSNG(myform.selDiscount.value)/100))试试。觉得这句出现了问题。
随时随地看视频慕课网APP
我要回答