15

access列に基づいてテーブルからデータを取得しようとしていDateます。私の要件は、特定の値より大きいものをすべて表示することです。私はcast自分の値を試しています。これは、データ型のstringFormat&CDate関数を使用datetimeしており、オーバーフローとしてスローされます。

クエリは次のとおりです。

Select * from Events
Where Events.[Date] > cDate(Format("20130423014854","yyyy-MM-dd hh:mm:ss"))

テーブルからのサンプル日付レコード値: 2013-04-23 13:48:54.0

Events.[Date]の日付/時刻型フィールドです。access

どうすればこれを修正できますか?

4

5 に答える 5

19

DateValue()関数を使用して、astringdateデータ型に変換します。これが最も簡単な方法です。

DateValue(String Date) 
于 2015-04-22T09:59:34.557 に答える
2
cdate(Format([Datum im Format DDMMYYYY],'##/##/####') ) 

句読点を含まない文字列を日付に変換します

于 2014-06-10T13:44:22.327 に答える
2

基本的に、これはうまくいきません

Format("20130423014854","yyyy-MM-dd hh:mm:ss")

関数は、format文字列の形式が正しい場合にのみ機能します

Format (#17/04/2004#, "yyyy/mm/dd")

また、フィールドのデータ型を指定する必要があります。[Date]これは、この値 2013-04-23 13:48:54.0を一般日付フィールドの下に置くことができないためです (私は を使用しますMS access2007)。あなたはこのトピックを見たいかもしれません: 間の日付を選択してください

于 2013-06-28T09:57:56.740 に答える
1

2014 年 9 月 1 日以降のすべてのレコードを表示する必要がある場合は、これをクエリに追加します。

SELECT * FROM Events
WHERE Format(Events.DATE_TIME,'yyyy-MM-dd hh:mm:ss')  >= Format("2014-09-01 00:00:00","yyyy-MM-dd hh:mm:ss")
于 2014-09-05T08:48:19.917 に答える