回答編集履歴

2

根拠周りの説明を整理し直しました。

2025/06/02 03:48

投稿

sk.exe
sk.exe

スコア1095

test CHANGED
@@ -11,12 +11,12 @@
11
11
  - システムの地域オプションにおいて、[短い日付]の表示形式が`yyyy/MM/dd '('ddd')'`に設定されている(現在のシステム日付の曜日(省略形)を括弧付きで表示させている)。
12
12
 
13
13
  エクスポート定義を使用しなかった場合、日付/時刻型のフィールドの値は上記のオプション設定に従った形式の文字列に変換された形でファイル出力されます。
14
+ ところが TransferText メソッドを使用してテキスト変換を行う場合、`ddd`が`dd`(日を前ゼロ埋め2桁固定で表示)と`d`(日を可変桁で表示)の組み合わせとして解釈されます。
15
+ また、シングルクォーテーション`'`は書式指定式における文字列リテラルの囲み記号として解釈されず、そういう文字としてそのまま出力されます。
14
16
 
15
- ところが、Access(VBA)における日付/時刻型のータの曜日省略形)を表示させる書式指定式は`aaa`です。
17
+ なお Access アプリケーション上において、日付/時刻型のフィルドの[書式]プロパティや、フォーム/レポート上に配置されたテキストボックスの[書式]プロパティにカスム書式を設定する場合、`ddd`は「曜日英語表記の省略形("Sun", "Mon", "Tue"……)」、`aaa`は「曜日の日本語表記の省略形("日","月","火"……を表書式文字列として指定することが出来ます
16
- `ddd`だと`dd`(日を前ゼロ埋め2桁固定で表示)と`d`(日を可変桁で表示)の組み合わせとして解釈されます。
17
- また、シングルクォーテーション`'`は書式指定式における文字列リテラルの囲み記号として解釈されず、そういう文字としてそのまま出力されます。
18
18
   
19
- まりこれは、「地域オプションにおける日付書式指定式」と「Access(VBA)における日付書式指定式」差異によって発生している(不具合にい)現象であると推定されます。
19
+ 以上の点を踏えた限これは TransferText メソッドの不具合である(曜日表記対応できてない)と推定されます。
20
20
 
21
21
  回避方法としては、次のようなものが挙げられます。
22
22
 

1

インポート処理を踏まえた所見を追記しました。

2025/06/02 02:50

投稿

sk.exe
sk.exe

スコア1095

test CHANGED
@@ -27,3 +27,7 @@
27
27
  - 日付/時刻型のフィールドをそのまま出力するのではなく、Format 関数を使用して`yyyy/mm/dd hh:nn:ss`などの表示形式の文字列に変換した結果(テキスト型のデータ)を返す選択クエリ(またはその結果を格納したテーブル)をエクスポートするようにする。
28
28
 
29
29
  1番目の方法が最も手っ取り早くはありますが、そのPCを使用しているユーザーの都合でそういう設定にしているのでしょうから、あまりお奨めは出来ません。
30
+
31
+ > CSVファイルを既存テーブルにインポート
32
+
33
+ 決まったレイアウトでファイル連携を行う前提なのであれば、エクスポートする際にはエクスポート定義として、インポートする際にはインポート定義として引数 SpecificationName を明示的に指定するようにされた方が無難でしょう。