1

I have a problem with my query in MS Access 2000. I need to select by the current date in database. I put either function date() or now and it doesn't work. Here is my query:

SELECT     TOP 100 PERCENT dbo.КАРНЕТ.НомКарнета, dbo.ФИРМА.НаимПредпр
 FROM         dbo.ФИРМА INNER JOIN
                  dbo.КАРНЕТ ON dbo.ФИРМА.КодПредпр = dbo.КАРНЕТ.КодПредпр
  WHERE     (dbo.КАРНЕТ.ДтСдачи = CONVERT(DATE, 'DATE()', 102))
  GROUP BY dbo.КАРНЕТ.НомКарнета, dbo.ФИРМА.НаимПредпр;
4

4 回答 4

4

您应该能够在Date()没有单引号的情况下使用:

WHERE dbo.КАРНЕТ.ДтСдачи = Date()

Date()函数将返回当前系统日期。

如果您dbo.КАРНЕТ.ДтСдачи的时间包含在其中,那么您可能需要对其进行格式化,并且您也可以将Date()值格式化为相同:

WHERE Format(dbo.КАРНЕТ.ДтСдачи, "yyyy.mm.dd") = Format(Date(), "yyyy.mm.dd")

注意:我刚刚在 MS Access 2003 中测试了上述行,它返回了记录。MS Access 2000 的代码应该相同。

于 2013-02-01T10:47:12.490 回答
2

尝试这个:

SELECT FORMAT(DATE(),'DD.MM.YYYY')

在 MS Access 中的结果:

01.02.2013
于 2013-02-01T10:14:58.247 回答
2
  1. 尝试使用now()today()date() 使用引号

  2. 您可能没有当天的数据。

  3. 还将您的字段转换为没有时间的日期格式,convert(...)或者format()在将其与date()函数进行比较之前。

于 2013-02-01T10:40:16.057 回答
0

您可以通过多种方式格式化日期。

格式 (#17/04/2004#, "Short Date") 结果: '17/04/2004'

格式 (#17/04/2004#, "Long Date") 结果: 'April 17, 2004'

格式 (#17/04/2004#, "yyyy/mm/dd") 结果: '2004/04/17'

Sub Createdate()
myDate = Format(Date, "Short Date")
End Sub

?myDate 12/29/2016

于 2016-12-29T15:30:29.897 回答