2013-08-23 4 views
0

다음 문제가 있습니다. ShortDate에 마스크 된 2 개의 텍스트 상자가 있습니다. 첫 번째 텍스트 상자에 날짜를 삽입하면 2 년 후에 날짜를 표시하는 두 번째 텍스트 상자가 필요합니다.일 값이 <10 일 때 AddYear가 작동하지 않습니다.

예를 들어 10/08/2013을 입력하면 두 번째 상자에 2014 년 10 월 8 일이 표시됩니다. 여기

코드입니다 :

Private Sub txtAcquired_LostFocus(sender As Object, e As EventArgs) Handles txtAcquired.LostFocus 
    Dim Acquired As Date 
    Acquired = txtAcquired.Text 
    txtDisposal.Text = Acquired.AddYears(2) 
End Sub 

그것은 잘 작동 날짜의 일 값이 때> 9 그러나 나는 1과 9 사이의 일 값으로 날짜를 넣을 때 작동하지 않는, 예를 들어, 04/04/2011에 두 번째 상자에 40/42/013_이 표시됩니다.

누군가가이 문제에 도움을 줄 수 있다면 크게 감사하겠습니다.

+0

유형을 변환하기 전에 작업 해보십시오. 'Date'는 ='String'이 아닙니다. – OneFineDay

+0

대답이 업데이트되었습니다 ... – OneFineDay

+0

Option Strict On을 코드 상단에 두거나 프로젝트 속성에 설정하십시오. 샘플의 Date 변수에 문자열을 지정하고 있습니다. –

답변

1

반환 된 날짜에 오류가 있습니다. 이것으로 해결됩니다.

Private Sub txtAcquired_LostFocus(sender As Object, e As EventArgs) Handles txtAcquired.LostFocus 
    Dim Acquired As Date 
    If Date.TryParse(txtAcquired.Text, Acquired) Then 
     txtDisposal.Text = Acquired.AddYears(2).ToString("MM/dd/yyyy") 
    End If 
End Sub 
+0

대단히 감사합니다. 그것은 작동합니다! – user2705957

관련 문제