Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6949 / 9994 ←次へ | 前へ→

【6243】Re:Seekメソッドは速いっす
発言  小僧  - 05/9/9(金) 13:51 -

引用なし
パスワード
   ▼くま さん:
こんにちは。

>「Company」のみや「Branch」のみの検索や処理を行うなら、
>個別のindexも含め3回セットした方が好ましい。
>という事なのでしょうか。

当方もAccess に関する知識が大した事ないため、知りません(笑)

という事で検証検証…。

12万件のレコードを持つテーブルから、
無作為に50件のレコードを抽出するコードを組んでみました。

(テーブルは郵政公社の HP から全国の郵便番号情報の
CSVファイルを落として作成した手抜きのものです)

2つのフィールドを主キーにしたものとインデックス無しのもので実験開始…。

初めは抽出に「FindFirst」メソッドを使っていたため、
全くと言ってよいほど差が付かなかったのですが、
「Seek」 メソッドを使うと恐るべき結果となりました。

インデックス無し    → 21 秒
Seek メソッドよる抽出 →  0 秒(1秒以下)

Seek メソッドは

Set RS = CurrentDb.OpenRecordset("テーブル名", dbOpenTable)
  RS.Index = "PrimaryKey"
  RS.Seek "=", "あきる野市", "伊奈"

のように、初めに使うインデックスを指定して、
次に検索のキーワードを「 , 」で区切って指定する事によって検索を掛けます。

ここで "PrimaryKey" を指定する事で2つのフィールドに対して
それぞれ検索キーワードを指定してする事が可能でした。

という事で、鍵マークだけで大丈夫…のような気がします。

(あくまでも当方が検証の結果ですけど)

※ 長くなってすみませんでした。

1,845 hits

【6165】VBAでのCreateIndex くま 05/9/6(火) 10:50 質問
【6166】Re:CreateIndexはステートメント たん 05/9/6(火) 13:29 回答
【6167】Re:CreateIndexの例 小僧 05/9/6(火) 13:52 回答
【6169】Re:CreateIndexの例 小僧 05/9/6(火) 14:16 回答
【6173】Re:CreateIndexの例 くま 05/9/6(火) 16:48 お礼
【6168】Re:CreateIndexはステートメント くま 05/9/6(火) 14:06 質問
【6170】Re:CreateIndexはステートメント たん 05/9/6(火) 14:33 発言
【6171】Re:CreateIndexはステートメント たん 05/9/6(火) 14:35 発言
【6172】Re:CreateIndexはステートメント くま 05/9/6(火) 16:40 お礼
【6174】Re:CreateIndexはステートメント 小僧 05/9/6(火) 17:07 回答
【6175】Re:CreateIndexはステートメント くま 05/9/6(火) 17:46 お礼
【6177】Re:CreateIndexはステートメント 小僧 05/9/6(火) 18:04 発言
【6178】Re:CreateIndexはステートメント くま 05/9/6(火) 18:25 お礼
【6179】Re:SQLでも… 小僧 05/9/6(火) 19:54 発言
【6181】Re:SQLでも… くま 05/9/6(火) 21:49 お礼
【6237】Re:SQLでも… 小僧 05/9/9(金) 0:23 発言
【6241】Re:SQLでも… くま 05/9/9(金) 11:24 お礼
【6243】Re:Seekメソッドは速いっす 小僧 05/9/9(金) 13:51 発言
【6244】Re:Seekメソッドは速いっす くま 05/9/9(金) 14:17 お礼
【6245】Re:Seekの続報です。 小僧 05/9/9(金) 17:12 発言
【6247】Re:Seekの続報です。 くま 05/9/9(金) 20:05 お礼

6949 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078248
(SS)C-BOARD v3.8 is Free