一个VB问题,关于计算

来源:百度知道 编辑:UC知道 时间:2024/05/28 03:43:32
要求有4个文本框,分别是单价重量和里程及运费,如果里程小于500则没有折扣如果在500~1000之间则有2%的折扣,如果在1000~2000之间则有3%的折扣2000~4000之间则有5%的折扣,如果大于4000有8%的折扣,分别输入单价重量里程后点击按钮计算则算出运费,且显示到第4个文本框中显示结果。
以下是我的想法:
Private Sub Command1_Click()
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
If c < 500 Then
d = a * b * c
ElseIf 500 <= c < 1000 Then
d = a * b * c * 0.98
ElseIf 1000 <= c < 2000 Then
d = a * b * c * 0.97
ElseIf 2000 <= c < 4000 Then
d = a * b * c * 0.95
Else
d = a * b * c * 0.92
End If
d = Val(Text4.Text)
End Sub
但是没对,请指教

'最后第二句错了,应该是text4.text=d
'这种情况下用select case语句可能会比if语句好点
'下面的程序是我改好的。
'by sss99900@hotmail.com
Private Sub Command1_Click()
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
Select Case c
Case Is < 500
d = a * b * c
Case 500, 500 To 1000
d = a * b * c * 0.98
Case 1000, 1000 To 2000
d = a * b * c * 0.97
Case 2000, 2000 To 4000
d = a * b * c * 0.95
Case Else
d = a * b * c * 0.92
End Select
Text4.Text = d
End Sub

elseif c>=500 And C<1000
以下类似

不能用你那个作为判断条件