

顧客データの検索画面をAccessで作成しています。
テーブルの数は全部で9、各テーブルのレコード数は約1万、
各テーブルのフィールド数は多くて20くらいです。
テーブル用のAccessをサーバに置いておいて、
検索画面フォームのAccessはそれぞれの社員のローカルに置いています。
テーブルを参照している社員数は20弱です。
Accessのバージョンは2007や2010、Runtimeを使っている社員もいます。
氏名フリガナと電話番号で検索できるようになっていて、
下の□のなかに、各テーブルの該当のものが抽出されるようになっています。
この検索画面の動きが最近著しく悪いです。
もっとサクサク動くようにしたいです。
色々調べてはみたのですが
・テーブルをSQLサーバに置いてリンクしなおしてみたのですが
余計動きが遅くなりました。
・「ある程度絞り込んでから検索をかける」というのが高速化のポイントらしいですが
常に全件が検索対象なので、それができません。
・テーブルのレコードについては常に全社員が新規作成、変更等できる状態でなければならないです。
動きを高速化させる知恵はないでしょうか?
ご教授ください!

No.2ベストアンサー
- 回答日時:
ミスリードが怖いので今回限りとします。
バックエンドの顧客データファイルをローカルにおいて再リンク。
これで試した場合に
共有フォルダに置いた場合とさほど処理時間が変わらなければ
Accessでの処理が限界にきていると推察されます。
両者とも他に誰も使用していない状況で試す必要があります。
差が格段に大きければネットワーク上に置いてあるために
問題が発生していると考えても良いのではないかと思います。
じわじわと遅くなったのではなければ
昨年くらいからWindows Update でいろいろとOSにも修正が入っているので
MSさん何かまずい事していない?と疑いたくなります。
以下は随分と昔なのですが調べた中で関係ありそうなのをピックアップしました。
[ACC2003] 複数のユーザーでリンク テーブルにアクセスするとパフォーマンスが落ちる
http://support.microsoft.com/kb/838670/ja
ネットワーク共有上のファイルを開いたとき、開くのに時間がかかる、読み取
り専用で開く、あるいはエラー メッセージが表示される
http://support.microsoft.com/default.aspx?scid=k …
Windows Vista を実行しているコンピュータで Microsoft Office Access デ
ータベースを開いたとき、または使用しているときに発生することがある問題
http://support.microsoft.com/kb/935370/ja
あとは、アンチマルウェアが足を引っ張っているとか・・・。
いずれにしろ、常時20人弱が頻繁に更新・新規レコード作成を行うのですから
Accessには荷が重すぎるように思います。
デッドロックに乗り上げたりファイル破損の可能性が常に付きまとうので
念には念を入れて作りこまないと・・・。
それに9万レコードのデータがLANを流れるわけですから。
以上、ご参考まで。
この回答への補足
>バックエンドの顧客データファイルをローカルにおいて再リンク。
上記方法をためしてみました。
すごく速くなったわけではないですが、
サーバー上のテーブルを見にいくよりは速かったです。
いただいたURLを参考にさらに調べをすすめていきたいと思います。
ありがとうございました!
たびたびありがとうございます!
>バックエンドの顧客データファイルをローカルにおいて再リンク。
さっそく週明けにでもこれやってみます!
どこが遅いのか、なんで遅いのか、まったく見当も付かず、
どうしてなんだろうと考えながらも手が思い浮かばず
何年も経過している次第です。
こうやってやってみれば原因が絞り込めていきますね!
大変参考になります!
>常時20人弱が頻繁に更新・新規レコード作成を行うのですから
>Accessには荷が重すぎるように思います。
こちらについても大変参考になりました!
Accessの限界ってどのくらいなんだろうと、それも知らなかったので・・・。
原因が絞り込めたら、社内システムの新しい運用方法を考えたほうがよさそうですね。
週明けに色々ためしてみてまた結果をお礼に書かせていただきます。
色々とありがとうございます!
No.1
- 回答日時:
出来ることは限られているように思います。
既に試されてはいるかと思いますけど一応。
・氏名ふりがなフィールドと電話番号にインデックスを設定。
・『検索』を、Filter で行っているのならクエリの抽出条件で行うように変更。
・SQL Server にデータを置いてあるなら、パススルークエリを試してみる。
「access sqlserver パススルークエリ」辺りでGoogleって見てください。
ご回答ありがとうございます!
>・氏名ふりがなフィールドと電話番号にインデックスを設定。
調べたところあいまい検索ができる場合はインデックスの作成はあまり意味がないと知りました。
また、レコードの新規作成や更新を頻繁にやっていると、インデックスがあると今度はそっちが遅くなると知り、あきらめました。
>・『検索』を、Filter で行っているのならクエリの抽出条件で行うように変更。
現時点でクエリの抽出条件でやっています。
たまたま最初からそうしていただけなんですけど。。。
Filterより抽出条件のほうがはやいんですね!知らなかったです!
>パススルークエリ
ためしてみたんですが、なぜか余計に遅くなってしまいました。。。
これをやれば簡単に早くできるよ、という具合にはいかなそうですね。
私が不勉強なだけで、
SQLServerを使えば早くなる方法がある気がします。
じっくり時間をかけて勉強していきたいと思います。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセスをネットワークでリンクさせると非常に遅い!?
その他(データベース)
-
Access クエリ実行が急に非常に遅くなりました。
Access(アクセス)
-
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
Access2000、これはいったい・・・・
その他(データベース)
-
6
IIF関数の使い方
Visual Basic(VBA)
-
7
Access200のFilterとFindの違い
その他(データベース)
-
8
Accessの桁区切りについて教えてください。
Access(アクセス)
-
9
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
10
Accessの処理速度を速めるためにテーブルとそれ以外を分割してもああまり速くならないのですが・・・
その他(データベース)
-
11
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
12
(ACCESS)条件に応じて、テキストボックスを表示・非表示設定
その他(データベース)
-
13
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
14
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
15
クエリのデータをテーブルに入れたい
Access(アクセス)
-
16
AccessでのリンクテーブルとADO等の使い分け
Access(アクセス)
-
17
Access カレントレコードがありません
その他(データベース)
-
18
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
19
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
20
Accessのフォームでタブの色
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルに主キーを作らないデ...
-
Access 2010 土日祝日を除いて...
-
アクセスのフォームを開くとき...
-
アクセスにエクセルのデータを...
-
ACCESSのクエリで表示されるデ...
-
accessのレポートであとから他...
-
ACCESSで行番号はつけられないの?
-
Access2010 携帯番号にハイホン...
-
「データベースまたはオブジェ...
-
Access2002 フォームを閉じるた...
-
accessの自動更新処理をできな...
-
マイクロソフトAccessでsqlのas...
-
ACCESS クエリで重複データを最...
-
ACCESSでクエリを作成したら「...
-
アクセスで前年対比を出す方法...
-
Access200のFilterとFindの違い
-
ACCESSのフォームからデータの...
-
Accessのフォームで作業領域を...
-
「メソッドまたはデータメンバ...
-
Access 別フォームへの再クエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルに主キーを作らないデ...
-
アクセスにエクセルのデータを...
-
accessのレポートであとから他...
-
Accessを使って日付を比較したい
-
accessで、「集計のオプション...
-
Accessの入力フォームから、テ...
-
Accessで検索を高速化
-
Access 複数フィールドの一致
-
Access97で任意のフィールドと...
-
Access2010 携帯番号にハイホン...
-
アクセスのフォームを開くとき...
-
オートナンバー型を1から始める...
-
Accessの構造について
-
アクセスについて
-
主キーから他のレコードを表示...
-
Accessのクエリによる集計が出...
-
Access97のフォーム(リストボッ...
-
ファイル間で双方向のデータの...
-
別々の性質のもつテーブルのク...
-
Accessでマスターデータで資格...
おすすめ情報