6

すべての日付が mm/dd の形式でテキスト フィールドに格納されている Access データベースが提供されています (例: 3/13/2009 12:20:36 AM)。

フィールドを日付/時刻に変換したいのですが、アクセスはそれを dd/mm としてフォーマットします。これにより、日が 12 より大きい場合、または変換された日付が間違っている可能性があります。

DB にテキストとして格納されている場合の現在の形式の例:

2009 年 3 月 12 日午後 11 時 32 分 40 秒
2009 年 3 月 13 日午後 11 時 32 分 40 秒

このフィールドのデータ型をテーブルのデザイン ビューから単純にテキストから日付/時刻の日付型に変換すると、次のようになります。

2009/03/12 11:32:40 午後
2009/03/13 11:32:40 午後

保存された値を修正するにはどうすればよいですか? 日付の表示形式は簡単に変更できるのであまり気にしませんが、テキストから日付/時刻に適切に変換するのは難しいことがわかっています。

アクセスから直接修正したいのですが、必要に応じてC#から修正できます。

ありがとう。

4

4 に答える 4

5

これがローカルの Access アプリケーションの場合、システムの日時形式が使用されるため、Windows でローカリゼーション設定を MM/DD を使用するように変更すると、アプリのどこかでオーバーライドされていない限り、Access はそのように変換されます。

于 2009-06-17T16:24:36.520 に答える
2

差し迫った問題については良い答えがありますが、システムをdmy形式で実行しているように見えます。したがって、次の点に注意する必要があります。

SQLステートメントでは、日付が完全に明確であるか、mm / dd / yy、またはmm / dd/yyyy形式である必要があります。それ以外の場合、Access / Jetは、作業している特定の日付に応じて、結果が不明な日付を解釈するのが最善です。作業しているシステムがこれらの日付形式を使用していると想定することはできません。したがって、次のWebページのロジックを使用する必要があります。

米国での返品日#mm / dd / yyyy#形式 http://www.mvps.org/access/datetime/date0005.htm

于 2009-06-18T01:56:26.233 に答える
2

Format(CDate("3/13/2009 11:32:40 PM"), "mm/dd/yyyy" は 03/13/2009 を返します

于 2009-06-17T17:51:22.063 に答える
0

Access のインポート機能には適切な日付解析機能があり、さまざまな形式を指定できます。これを既に Access にあるものに適用する最適な方法がわからない - 簡単な方法は、データを Excel にコピーしてから再インポートすることです。

于 2009-06-17T16:31:19.343 に答える