回答編集履歴

3

リンク追加

2019/11/21 08:26

投稿

hatena19
hatena19

スコア33742

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- AccessではInで複数キーは無理ですので、下記のようにするしかないと。
5
+ AccessではInで複数キーは無理ですので、下記のようにするしかないと。
6
6
 
7
7
 
8
8
 
@@ -49,3 +49,7 @@
49
49
 
50
50
 
51
51
  [AccessでSQLの実行計画を取得する方法 | アイビースター](http://ivystar.jp/ms-office/access/how-to-get-the-execution-plan-of-sql-in-access/)
52
+
53
+
54
+
55
+ [ACCESS(MDB)の実行計画を見る方法](https://seraphy.hatenablog.com/entries/2008/03/06)

2

コード追記

2019/11/21 08:26

投稿

hatena19
hatena19

スコア33742

test CHANGED
@@ -16,6 +16,34 @@
16
16
 
17
17
 
18
18
 
19
+ Access側に下記のようなテーブルを作成しておいて、
20
+
21
+
22
+
23
+ T_Key (工事番号 , 登録時刻)
24
+
25
+
26
+
27
+ これにExcelのキーデータを出力して、
28
+
29
+
30
+
31
+ ```sql
32
+
33
+ SELECT T_Data.*
34
+
35
+ FROM
36
+
37
+ T_Data INNER JOIN T_Key
38
+
39
+ ON T_Data.工事番号=T_Key.工事番号 AND T_Data.登録時刻=T_Key.登録時刻;
40
+
41
+ ```
42
+
43
+
44
+
45
+
46
+
19
47
  > Q2. インデックスの恩恵を受けているか簡単に調べる方法はありますか。
20
48
 
21
49
 

1

追記

2019/11/21 08:08

投稿

hatena19
hatena19

スコア33742

test CHANGED
@@ -1,4 +1,18 @@
1
+ > Q1. 2つの情報を使って、インデックスの恩恵を受けられる形で、AccessでWhere inを実行、もしくは同じ結果を得る方法はありますか。
2
+
3
+
4
+
5
+ AccessではInで複数キーは無理ですので、下記のようにするしかないと。
6
+
7
+
8
+
1
- とりあえずこちらだけ。
9
+ ```sql
10
+
11
+ Where (工事番号="値1" AND 登録時刻="時刻1") OR (工事番号="値2" AND 登録時刻="時刻2") OR (工事番号="値3" AND 登録時刻="時刻3")
12
+
13
+ ```
14
+
15
+ あるいは、抽出条件用のテーブルを作成して結合するのが条件の設定が楽になると思います。
2
16
 
3
17
 
4
18