2011-12-21 41 views
9

Đoạn mã nhỏ này được cho là sẽ tắt và đưa cho tôi biến số chính xác nhưng không có vấn đề gì trong biến "numericDay", biến "hậu tố" cho tôi "th". tôi không thấy lý do tại sao nó sẽ không thay đổi khi giá trị của "numericDay thay đổi cả hai đều là biến chuỗiVisual Basic 6.0 Case Statement

Select Case numericDay 
      Case numericDay = "1" Or "21" Or "31" 
       suffix = "st" 
      Case numericDay = "2" Or "22" 
       suffix = "nd" 
      Case numericDay = "3" Or "23" 
       suffix = "rd" 
      Case Else 
      suffix = "th" 

    End Select 
+0

Có gì 'sốDay'? – SLaks

+0

@Slaks chúng là cả hai biến chuỗi. tôi nghĩ rằng tôi đã gõ nhưng tôi nghĩ rằng câu hỏi ban đầu của tôi đã bị cắt nhỏ xuống kích thước. không có vấn đề và không phải lo lắng, tôi đã thấy lỗi trong cú pháp của tôi nhờ câu trả lời của nybbler. –

Trả lời

26

Bạn đã viết chọn của bạn không đúng cách Hãy thử như sau:..

Select Case numericDay 
      Case "1", "21", "31" 
       suffix = "st" 
      Case "2", "22" 
       suffix = "nd" 
      Case "3", "23" 
       suffix = "rd" 
      Case Else 
       suffix = "th" 
    End Select 

để tham khảo trong tương lai: http://www.vb6.us/tutorials/learn-if-else-and-select-statements-vb6

+0

cảm ơn bạn rất nhiều :) –

+3

+1 Để tham khảo trong tương lai, bạn cũng có thể dùng thử http://msdn.microsoft.com/en-us/library/aa266274(v=VS.60).aspx – MarkJ

6

Theo the msdn bạn nên đã viết nó như thế này:

Select Case numericDay 
     Case "1", "21", "31" 
      suffix = "st" 
     Case "2", "22" 
      suffix = "nd" 
     Case "3", "23" 
      suffix = "rd" 
     Case Else 
     suffix = "th" 
End Select 
3

"2" Or "22" sẽ thực hiện việc xác định trước hoặc bằng 2 và 22, tương ứng với 22.

Các vấn đề liên quan