2013-02-01 145 views
1

我在MS Access 2000中的查詢出現問題。我需要按數據庫中的當前日期進行選擇。我把功能date()now,它不起作用。 這裏是我的查詢:MS Access中的查詢

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

什麼意思它不起作用?你有空的結果,或者你有錯誤信息? – veljasije

+0

空的結果...... – Sergio

+0

是什麼''中YYYYMMDD HHMMSS'dbo.КАРНЕТ.ДтСдачи'格式 – Justin

回答

4

您應該能夠使用Date()而不單引號:

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

Date()函數將返回當前系統日期。

如果您dbo.КАРНЕТ.ДтСдачи已經包含在裏面的時候,那麼你可能需要格式化,你也可以格式化Date()值相同:

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

注:我只是測試上面的線在MS Access它返回記錄。該代碼應該是相同的MS Access 2000.

+0

你的第二條款絕對是最好的,以消除兩者的時間,以防萬一!+1 – glh

2

試試這個:

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

結果在MS Access:

01.02.2013 
+0

不工作,.. :( – Sergio

2
  1. 嘗試使用now()today()date()不帶引號

  2. 您可能沒有那一天的數據。

  3. 你比較它date()功能之前,你的領域也轉換爲日期格式不受時間,convert(...)format()

0

您可以格式化日期的任何方式。

格式(#17/04/2004#, 「短日期」) 結果:'17/04/2004'

格式(#17/04/2004#, 「長日期」) 結果: '2004年4月17日'

格式(#17/04/2004#, 「YYYY/MM/DD」) 結果:? '2004年4月17日'

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

數值指明MyDate 12/29/2016