Access処理速度を早くする4つの方法 ~フォーム編~
実際に開発する過程で「困った事」、「悩んだ事」、「苦しんだ事」の対処方法です。
一般的ではないかもしれませんが弊社お客様で問題なく稼働している内容ですので参考にして下さい。
目次
- Ⅰ.新規MDBを作成時に気を付けること
- Ⅱ.コンボボックスの「値集合ソース」の初期値を空にする
- Ⅲ.Dlookup、Dcout、Dsum関数は遅いので使用しない
- Ⅳ.フォームのレコードソースの抽出条件は1行にする
- Ⅰ.新規MDBを作成時に気を付けること
「名前の自動修正オプション」をオフにする。
新規作成時はチェックされています。
これがチェックされていますとフォームを開く時、極端に遅くなります。
【 チェックを外す方法 】
①ファィルのオプションを選択
②既存のデータベースを選択
③下段に名前の自動修正オプションの項がありますのでチェックをはずします。
- Ⅱ.コンボボックスの「値集合ソース」の初期値を空にする
フォームを開く時に値集合ソースを表示しようとしますので遅くなります。
そのコンボボックスの「フォーカス取得時」にセットします。
【 やり方 】
①値集合ソースを空にする。
②フォーカス取得時にセットします。
- Ⅲ.Dlookup、Dcout、Dsum関数は遅いので使用しない
DLookupやDCount、DSumなどの関数は「定義域集計関数」と呼ばれ、一般的には低速な関数といわれています。
少ないデータ件数なら気になりませんが多くなってくると影響しますので使用すべきではありません。
【 対処 】
それぞれの目的のモジュールを書く事をお薦めします。
- Ⅳ.フォームのレコードソースの抽出条件は1行にする
レコードソース(クエリー)の抽出条件を2行以上記述すると遅くなります。
【 対処 】
下記のように1行に記述します。
今回はフォームについてのみで思い出す範囲で記載しています。
遅い、早いはレコードの抽出に依存しますので次回はその点について述べます。