2011-12-21 12 views
9

Ten mały fragment kodu powinien odpalić i podać mi odpowiednią zmienną , ale bez względu na to, co znajduje się w zmiennej "numericDay", przyrostek "Zmienna" daje mi "th". I nie rozumiem, dlaczego to się nie zmieni, gdy wartość „numericDay zmienia oba są zmienne łańcuchoweVisual Case 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

Co to jest "numericDay"? – SLaks

+0

@Slaks są zmiennymi łańcuchowymi. Myślałem, że to napisałem, ale myślę, że moje oryginalne pytanie zostało przycięte do rozmiarów. bez względu na to i bez zmartwień, widziałem błąd w mojej składni dzięki odpowiedzi nybblera. –

Odpowiedz

26

Pisałeś Twój wybierz nieprawidłowo Spróbuj wykonać następujące czynności:..

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 

dla przyszłości: http://www.vb6.us/tutorials/learn-if-else-and-select-statements-vb6

+0

dziękuję bardzo :) –

+3

+1 W celu późniejszego wykorzystania można również wypróbować instrukcję http://msdn.microsoft.com/en-us/library/aa266274(v=VS.60).aspx – MarkJ

6

Według the msdn powinno być napisane tak:

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" zrobi to na krótko lub z 2 i 22, co odpowiada 22.