1

MSAccess2000のクエリに問題があります。データベースの現在の日付で選択する必要があります。関数date()またはを入れてもnow動作しません。これが私の質問です:

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で上記の行をテストしたところ、レコードが返されました。コードはMSAccess2000でも同じである必要があります。

于 2013-02-01T10:47:12.490 に答える
2

これを試して:

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

MSAccessの結果:

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")結果:'2004年4月17日'

フォーマット(#17/04/2004#、 "yyyy / mm / dd")結果: '2004/04/17'

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

?myDate2016年12月29日

于 2016-12-29T15:30:29.897 に答える