2016-03-29 12 views
1

このVB6コードをVB.NET に翻訳しようとしていますが、このコードが30をDateにどのように追加するのか分かりません。VB6コードの変換Date1>(Date2 + 30)

コード:

if Date1 > (Date2 + 30) then 
'Condition 
end if 

質問:

  1. コードを計算し2日のどの値はありますか? (それはday > day,month > month,year > year?)
  2. ここで値は追加されますか? (Daymonthまたはyear?)
  3. VB.NETにこのVB6コードの同等とは何ですか?

答えて

3
  1. Date1の日付がDate2プラス30日に日付よりも大きい場合には決定されます。

  2. それは日

  3. を追加あなたは日付変数に整数を追加することができますし、それはそれにその何日追加することになり、VB6/VBAdateVar.AddDays()

+0

私はそれを正しくやっていますか? 'If​​ Date1.Value.Date> DateAdd(DateInterval.Day、30、Date2.Value.Date)' –

+0

あなたは何をしていますか? –

+0

またはこのように 'If Date1.Value.Date> Date2.Value.Date.AddDays(30)' –

3

を呼び出します。 したがって、Date2 + 30DateAdd("D", 30, Date2)

と同じです。Date+Integerはサポートされていません。ですから、日に日を追加する2番目の方法に頼らなければなりません。

だから、VB.NETでコードの同等は次のようになります(私はそれを使用することをお勧めしませんが)

If date1 > date2.AddDays(30) Then 
    'Condition 
End If 

DateAdd("D", 30, Date2)構文は引き続きサポートされています。したがって、以下も動作します:

If date1 > DateAdd(DateInterval.Day, 30, date2) Then 
    'Condition 
End If