質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

727閲覧

Access VBAで地域設定に依存しない日付書式の設定を行いたい。

m0804

総合スコア14

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2021/10/14 03:13

Access VBAでOS側の地域設定に依存せず、指定した日付を取り扱うことはできませんか?

例えば、C#でCultureInfo.CurrentCultureに設定するのと同様の設定を行いたいです。

今回の場合、yyyy/mm/ddで表示や取得(Now()など)を行いたいが、
一部地域設定が(mm/dd/yy)で設定されているため、不具合が生じる場面があります。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

地域の設定はofficeを含めた標準形式の共通的な表示書式を設定するものですから、それを設定に関わらず、固定にするなら個々の書式を明示的に設定するしか無いと思います。

C#でCultureInfo.CurrentCulture

前提が.Netでのスレッド上の話ですから、Accessで代替えするようなものは見たことは無いですね。

投稿2021/10/14 03:46

sazi

総合スコア25206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m0804

2021/10/14 04:17

ご回答ありがとうございます。 やはり個別に修正するしかないようですね。 そのようにしようと思います。ありがとうございました。
guest

0

ベストアンサー

どのような場面での話でしょうか。

テーブル、フォーム、レポートなどでの表示上の話なら、書式プロパティで yyyy/mm/dd と設定しておけばいいですね。

VBAで Now() とか Date() を使う場合は、日付/時刻型(Date)の変数に代入しておけば、問題ないです。

問題があるとしたら、VBAでSQLを扱うとき、SQL文字列に変換するときに、地域設定の影響を受けますので、Format関数で書式を設定して変換すればいいでしょう。

vba

1Dim stSQL As String 2stSQL = "SELECT * FROM table1 WHERE 日付=#" & Format(Date(),"yyyy/mm/dd") & "#;"

投稿2021/10/14 03:44

hatena19

総合スコア33795

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m0804

2021/10/14 04:16

回答ありがとうございます。 ご指摘の通り、SQLの扱いで主に問題があったため、全体の見直しを行っていたところでした。 やはりそういった修正しかありませんよね...。 個別に修正しようと思います。ありがとうございました。
hatena19

2021/10/14 05:44

未確認ですが、ファイル→オプションの「クライアントの設定」に「4桁で年表示」という項目がありますが、そこの「このデータベース」「すべてのデータベース」にチェックを入れたら、Formatなしでもいけるかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問