select case语句的使用

runquickly 2005-11-05 06:13:16
如果想用select语句来实现不同路程远近的分支,我做的不对,如何做啊?
题目要求,路程小于250公里的没有折扣,路程大于等于250公里并且小于400公里的,折扣为2%
dim s as integer,
s=val(text1.text)
select case s(路程)
case is<250
折扣=0
case (is>=250) and (is<400)
折扣=2
....
end select
费用=路程*重量*每吨钱*(1-d/100)
程序不认识在250到500的条件?
只能用if ...then ..elseif语句吗?

...全文
213 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kweis 2005-11-06
  • 打赏
  • 举报
回复
case 后边不能加2级以上的判断,你可以从小到大检查比如:

case is<250
...
case is <500
...

这样写,当值在250-500之间会执行 case is <500后边的代码。

Dim s As Integer
Dim a As String

s = Val(Text1.Text)
Select Case s
Case Is < 250
a = 111111111
Case Is <= 500
a = 222222222
Case Is >= 500
a = "无效值!"
End Select
MsgBox a
' 费用 = 路程 * 重量 * 每吨钱 * (1 - d / 100)
' 程序不认识在250到500的条件?
' 只能用if ...then ..elseif语句吗?
northwolves 2005-11-06
  • 打赏
  • 举报
回复
也可以这样:

折扣=IIF(S<250,0,IIF(S>=400,3,2))

或者

折扣=SWITCH(S<250,0,S>=250 AND S <400,2,S>400,3)
northwolves 2005-11-06
  • 打赏
  • 举报
回复
CASE 250 TO 400

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧