フィールドをテキストから日付/時刻に変換するときのMS-Accessの誤った日付形式
質問
すべての日付がテキストで保存されているアクセスデータベースがあります mm / dd形式のフィールド(例:3/13/2009 12:20:36 AM)
フィールドを日付/時刻に変換したいが、アクセスはdd / mmとしてフォーマットする 日が12より大きい場合、または変換された日付が 間違っている。
DBにテキストとして保存されている場合の現在の形式の例:
3/12/2009 11:32:40 PM 3/13/2009 11:32:40 PM
デザインビューからこのフィールドのデータ型を単に変換する場合 テキストから日付/時刻の日付タイプまでのテーブルの次のようになります:
03/12/2009 11:32:40 PM 13/03/2009 11:32:40 PM
保存された値を修正するにはどうすればよいですか? 私はできるようになるので、日付が表示される形式についてはあまり気にしません 見た目を簡単に変更できますが、テキストから 日付/時刻には注意が必要です。
好ましいアクセスから直接修正したいのですが、必要に応じてC#から修正できます。
ありがとう。
解決
これがローカルのAccessアプリケーションである場合、システムの日時形式を使用するため、Windowsのローカライズ設定をMM / DDを使用するように変更すると、アプリ内で上書きされない限り、Accessはそのように変換します。
他のヒント
Format(CDate(" 3/13/2009 11:32:40 PM")、" mm / dd / yyyy"は03/13/2009を提供します
当面の問題については適切な回答が得られましたが、システムをdmy形式で実行しているようです。したがって、次のことに注意する必要があります。
SQLステートメントでは、日付が完全に明確であるか、mm / dd / yyまたはmm / dd / yyyy形式であることが必要です。それ以外の場合、Access / Jetは、作業している特定の日付に応じて、結果が不明な日付を解釈するのが最善です。作業中のシステムがこれらの日付形式を使用しているとは想定できません。したがって、次のWebページでロジックを使用する必要があります。
米国#mm / dd / yyyy#形式の返品日 http://www.mvps.org/access/datetime/date0005.htm
Accessのインポート機能には、適切な日付解析機能があり、さまざまな形式を指定できます。これを既にAccessにあるものに最適に適用する方法がわからない-簡単な方法は、データをExcelにコピーしてから再インポートすることです。