1

MS Access 2003データベースに保存されている日付を取得しようとしています..形式で保存されていますdd/mm/yyyyが、取得すると次の形式になりますmm/dd/yyyy

MSAccessに日付を形式で返すように強制するにはどうすればよいですdd/mm/yyyyか?

4

6 に答える 6

1

私はなんとかそれを解決することができました。

フィールドをdd/mm/yyyyにするためのフォーマットをフィールドに追加しました

私のC#アプリケーションでは、その形式の日付を処理するように調整しました/すべてが良好です

于 2012-06-14T02:37:50.210 に答える
1

ロケールを指定できるExcelTEXT関数を使用できます。これは、MSAccessUDFのサンプルですformatLocale

Option Compare Database
Option Explicit

'see https://excel.tips.net/T003299_Specifying_a_Language_for_the_TEXT_Function.html
'for countries list

Dim xl As Excel.Application

Function formatLocale(dt As Variant, xlFormat As String) As Variant
    setXl
    formatLocale = xl.WorksheetFunction.Text(dt, xlFormat)
End Function

Sub test_formatLocale()
    'print this month's name in US english
    Debug.Print formatLocale(Now, "[$-409]mmmm")
End Sub

Function setXl()
    On Error Resume Next
    If xl Is Nothing Then
        'try getting
        Set xl = GetObject(, "Excel.Application")
    End If
    If xl Is Nothing Then
        Set xl = CreateObject("Excel.Application")
    End If
End Function
于 2019-09-05T08:44:25.590 に答える
0

Accessでは、日付は常に日付/月の区別なしに内部的に保存されます。多くのデータベースや言語と同様に、これは実数です。

その数値がどのように変換されて日付として表示されるかは、完全にクライアントプログラムとそのローカルまたはシステムユーザー設定に依存します。

Access自体がそのクライアントプログラムである場合、日付は現在のユーザー設定形式で表示および編集されます。これは、現在のWindowsユーザーロケールに応じて推定されます。VBAを除く:VBAは英語(米国)で書かれた言語であるため、SQLだけでなくコードでの入力と比較の形式は常にmm / dd/yyyyです。

于 2012-06-13T19:15:31.343 に答える
0

format関数を使用します。

Format(dateVar, "dd/mm/yyyy")

ここで、dateVarはDateTimeタイプであることが好ましい。

于 2012-06-14T14:01:18.107 に答える
0

私の経験では。ある段階で何をしても、Microsoftソフトウェアは、asp、.net、sql、IE、またはOS自体など、ヨーロッパの日付について混乱します。主に、5月6日または6月5日になる可能性がある2012年6月5日など、あいまいな場合。ある段階でこれがうまくいかないことを保証します。

ロケールを設定すると、誤った安心感に陥ります。

したがって、風変わりな米国の日付形式mmddyyyyに固執するか、私たちと同じようにMicrosoftの日付形式を完全に忘れて、数値フィールドのyyyymmddhhmmssに基づいて独自の日付形式を作成します。時間と組み合わせて非常に効率的な時間比較を可能にするため、より柔軟で強力です。マイクロソフトの問題は、彼らが黙って物事を修正しようとすることです。私はこれがまったく役に立たないと思います。

于 2013-04-16T13:24:10.423 に答える
0

ロケールがUSでない場合、MicrosoftAccessのデフォルト値として今日の日付を使用するときは十分に注意してください。(私のものは英国です)。

  • 日付フィールドタイプが日付/時刻として指定されていることを確認してください。
  • デフォルト値としてDate()を使用します。両方のルールに従う必要があります。日付/時刻フィールドからの変換は、ロケールに適した形式で正しく表示されます。

これは、急いでフィールドを短いテキストとして定義し、後でデフォルト値= Date $()を導入したときに発生した問題を克服しました。はい、それはずさんで、US mm / dd / yyyy形式を生成し、日付ピッカーを使用して修復する必要がありました。

于 2020-01-08T00:49:43.343 に答える