teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

補足

2018/06/05 03:01

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -12,7 +12,7 @@
12
12
  ---
13
13
  > 文字列が入っているデータを取り出して、dictionaryに入っている変換表を使って、文字列をコードに変換しようとしました。
14
14
 
15
- 更新クエリ(UPDATE文)の実行で一発でできることをわざわざdictionaryを介して複雑にするのかは疑問です。
15
+ 更新クエリ(UPDATE文)の実行で一発でできることをわざわざdictionaryを介して複雑にするは疑問です。
16
16
  ```
17
17
  Public Sub Iko_syouhin2()
18
18
  Dim dbs As Database
@@ -22,4 +22,6 @@
22
22
  "ON 商品.売上取引区分 = dbo_m_uriage_torihiki_kbn.uriage_torihiki_kbn_nm " & _
23
23
  "SET 商品.売上取引区分 = [uriage_torihiki_kbn_cd];")
24
24
  End Sub
25
- ```
25
+ ```
26
+
27
+ Dictionaryは、重複排除や突き合わせをするのに便利なので、Excelなどではよく使いますが、Accessのテーブルなら同じことがSQL一発でできるので、使う機会はほとんどないですね。

1

追記

2018/06/05 03:01

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -7,4 +7,19 @@
7
7
  ```
8
8
  uriage_torihiki_kbn_cd = uriage_torihiki_kbn_array.Item(rst2!売上取引区分.Value)
9
9
  ```
10
- というようにフィールドの値をセットするようにしてください。
10
+ というようにフィールドの値をセットするようにしてください。
11
+
12
+ ---
13
+ > 文字列が入っているデータを取り出して、dictionaryに入っている変換表を使って、文字列をコードに変換しようとしました。
14
+
15
+ 更新クエリ(UPDATE文)の実行で一発でできることをわざわざdictionaryを介して複雑にするのかは疑問です。
16
+ ```
17
+ Public Sub Iko_syouhin2()
18
+ Dim dbs As Database
19
+
20
+ Set dbs = CurrentDb
21
+ dbs.Execute ("UPDATE 商品 INNER JOIN dbo_m_uriage_torihiki_kbn " & _
22
+ "ON 商品.売上取引区分 = dbo_m_uriage_torihiki_kbn.uriage_torihiki_kbn_nm " & _
23
+ "SET 商品.売上取引区分 = [uriage_torihiki_kbn_cd];")
24
+ End Sub
25
+ ```