2014-01-27 58 views
2

我確定我缺少的是簡單的,但我不能把我的手指上,我基本上做一個學校報告數據庫,並希望顯示在下拉列表中的學年,例如「2012 - 2013 」,我想顯示10個幾年前和2年的前進想要添加變量到格式()字符串輸出

這裏是我的代碼

Private Sub Combo2_GotFocus() 

    For years = -10 To 2 
     Me.Combo2.AddItem Format(DateAdd("yyyy", years, Now), "yyyy" & " - " & "yy") 
    Next years 

End Sub 

輸出是

2004 - 04
2005 - 05 。 。 。 2016 - 16(我要的是2016 - 17)

我試圖concatinating遞增日期變量,而不是「& 」YY「 無濟於事

回答

2

試試這個:

Private Sub Combo2_GotFocus() 

    For years = -10 To 2 
     Me.Combo2.AddItem Format(DateAdd("yyyy", years, Now), "yyyy") & "-" & Format(DateAdd("yyyy", years + 1, Now), "yy") 
    Next years 

End Sub 

你可以用這一個還有:

Dim y As Integer 

For years = -10 To 2 
    y = Year(Now) + years 
    Me.Combo2.AddItem y & "-" & Right(CStr(y + 1), 2) 
Next years 
+2

+1變量NextYear是整潔 – Fionnuala

+1

謝謝!伊夫浪費了太多的時間在這個小d。 etail。第一個建議沒有與年份的負值工作,可能是因爲它的雙重用途,但第二個建議完美工作。它對我來說是新的,不知道你可以將Year(Now)添加到一個整數變量中,將研究Right方法。再次感謝 – user3241846

+0

嗯..第一個工作正常我..btw高興地幫助你:) –