如果月份不同,则比较日期不起作用

时间:2017-09-14 13:14:42

标签: sql access-vba

我正在尝试比较访问数据库中的4个日期字段,并将最新值和adatum之间的日期差异设置为parkdauer。它适用于同一月份日期的任何行。

strSQL = "UPDATE Steuerungsboard 
          SET parkdauer = DateDiff('d', [kspausgang], [adatum]) 
          WHERE FORMAT(kspausgang, 'dd/MM/yyyy') >= FORMAT( iausgang, 'dd/MM/yyyy') 
             And FORMAT( kspausgang, 'dd/MM/yyyy') >= FORMAT( aausgang, 'dd/MM/yyyy') 
             And FORMAT( kspausgang, 'dd/MM/yyyy') >= FORMAT( gausgang, 'dd/MM/yyyy');"
CurrentDb.Execute strSQL, FailonError

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

只需移除所有这些FORMAT内容,这样就可以了。

FORMAT的问题是你实际按字​​母顺序比较日期,而且由于种种原因这是错误的。

"UPDATE Steuerungsboard 
          SET parkdauer = DateDiff('d', [kspausgang], [adatum]) 
          WHERE kspausgang >=  Nz(iausgang) 
             And  kspausgang >=  Nz(aausgang) 
             And  kspausgang >=  Nz(gausgang);"