부록책 239쪽 3번문제 (2013년 1회액세스)
Private Sub txt할인율_DblClick(Cancel As Integer)
Select Case 수량
Case Is >= 0, Is <= 49
txt할인율 = 0
Case Is >= 50, Is <= 99
txt할인율 = 0.03
Case Is >= 100, Is <= 149
txt할인율 = 0.05
Case Is > 150
txt할인율 = 0.1
End Select
End Sub
로 하니깐
txt할인율이 전부다0%로 나오는데.....
이유가 왜그렇죠?
그리고 정답코드는
Select Case txt수량
Case Is >= 150
txt할인율 = 0.1
Case Is >= 100
txt할인율 = 0.05
Case Is >= 50
txt할인율 = 0.03
Case Else
txt할인율 = 0
End Select이던데
이거말고 다르게쓸순없나요?
if구문에서는 and를 쓸수잇던데 ... 찝찝해서물어봅니다. 그냥외우는게답인가요?
Case Is >= 0, Is <= 49
이와 같은 방법으로 사용할 수 없습니다.
Select Case txt수량
Case Is >= 150
txt할인율 = 0.1
Case Is >= 100
txt할인율 = 0.05
Case Is >= 50
txt할인율 = 0.03
Case Else
txt할인율 = 0
End Select
이렇게 작성한 이유는 150 이상인 값을 먼저 걸러내고
150이하의 값이 나오면 다음 조건을 확인합니다.
100이상인 값이 들어오면(이미 앞에서 150이상인 값은 걸러졌으므로 149~100 사이의 숫자를 확인 가능합니다.) 할인율을 적용하고
아니면 다음 조건인
50이상인 값을 확인 하겠죠.
이렇게 이미 앞의 조건에서 해당 조건에 맞는 값은 걸러지게 되므로
꼭 >=150 and <100 과 같이 사용할 필요가 없는 것입니다.
좋은 하루 되세요.
-
*2015-09-06 07:07:33
Case Is >= 0, Is <= 49
이와 같은 방법으로 사용할 수 없습니다.
Select Case txt수량
Case Is >= 150
txt할인율 = 0.1
Case Is >= 100
txt할인율 = 0.05
Case Is >= 50
txt할인율 = 0.03
Case Else
txt할인율 = 0
End Select이렇게 작성한 이유는 150 이상인 값을 먼저 걸러내고
150이하의 값이 나오면 다음 조건을 확인합니다.
100이상인 값이 들어오면(이미 앞에서 150이상인 값은 걸러졌으므로 149~100 사이의 숫자를 확인 가능합니다.) 할인율을 적용하고
아니면 다음 조건인
50이상인 값을 확인 하겠죠.
이렇게 이미 앞의 조건에서 해당 조건에 맞는 값은 걸러지게 되므로
꼭 >=150 and <100 과 같이 사용할 필요가 없는 것입니다.
좋은 하루 되세요.