• 締切済み

ACCESSでデータシートビュー上での検索が遅く、検索できない。

ACCESSを使用し、データシートビュー上でデータを削除編集作業しようとしているのですが、名前とメールアドレスで検索すると砂時計のマークのままとまってしばらくしてもなおりません。ただ、年齢や、出身で検索するとスムーズの検索できます。データ量の違いで時間がかかってしまうのがしかたがないのでしょうか? 何か良い解決方法ありましたら教えてください。 よろしくお願いします。

みんなの回答

  • barbieri
  • ベストアンサー率24% (19/78)
回答No.3

No.1、No.2のどちらの回答にも賛成です。 インデックスはかなり効きます。 日々(クエリ、フォーム、レポートも含めて)DBのメンテナンスを行なっていますと、あっという間に数倍のファイルサイズに膨れ上がってしまいますので私の場合はこまめに最適化を実行しています。 savignac37さんが扱っておられるのがどういう情報なのか良く分かりませんが、顧客データOR会員名簿でしょうか? 私が気になるのは、「削除作業が発生する原因が何なのか」です。 単に登録ミスで発生しているのか、状況の変化(外的要因)でおこるのか? 後者の場合なら、データそのものを削除するのではなく、削除マークのような物を使用された方が後々統計を取る時に利用価値が出てくると思います。 また、データシートビューで直接、削除編集作業を実行するよりもテーブルに削除専用(YES/NO型)フィールドを設けて、フォームを作成しクエリでターゲットとなるレコードを選択してYES/NO型のボックスにチェックを入れ、次回のフォームやレポートに反映できるようにすればスマートに作業を進められます。 どうしても削除しなければならないレコードならば、そのYES/NOをクエリで判断してまとめてDB上から削除すれば砂時計のイライラから解消されるのではないでしょうか?

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.2

直接の回答ではないですが アクセスで作業(データ入力、フォームの修正、クエリーの修正等)を 実行するとだんだんとサイズが増えて行き決して減ることは有りません。 したがって適度に最適化を行って下さい。 ツール→データベースユーティリティ→最適化 驚くほど小さくなることも珍しくありません。 小さくなれば検索も早いと思います。

  • teppy
  • ベストアンサー率50% (9/18)
回答No.1

テーブルのデザインを変えないといけないのですが、 「名前」と「メールアドレス」のフィールドにインデックスをつけると早くなります ただ、ファイルサイズが大きくなります

関連するQ&A

  • Access テーブルをデータシートビューで開くことが出来ませんというメッセージが出ます

    Accessで単純な入力をさせていたところ、「急に『レコードが削除されました』というメッセージが出たんですけど・・」と担当者が言ってきました。確認したところ、マスターのテーブルも『レコードが削除されました』『テーブルをデータシートビューで開くことが出来ません』とメッセージがでて、関連するクエリなどすべて『レコードが削除されました』とエラーが出ます。入力していた担当者は「変なことはしてません」と言っていますが。入力していた作業内容はもともとあるデータから該当のデータを検索して追記するだけの単純な作業です。Access2000でWinXPを使っています。本当にデータは削除されているのでしょうか?また削除された場合、なんとかデータを復活させる方法はあるのでしょうか?私が操作していないので、どういう経過でこうなったかわからず、ほとほと困っています。考えられる方法があれば教えて下さいませ。よろしくお願いいたします。

  • データシートビューからフォームビューへ切り替えられない。

    こんにちは。 以前、DexMachina様にご教授頂いたのですが 違うフォームを作っていたら データシートビューからフォームビューへ切り替えられないので教えてくださいませ。(アクセス2003) 前回質問:http://okwave.jp/qa4982081.html フォーム上(デザインビュー)にテーブルをドラッグしました。 (サブフォームのデフォルトのビューは、データシートビューになっていますが単票ビューに切り替えました。) 一度保存し、再度フォームを開くと、単票ビューで表示されるので その状態で、 Sub test() Forms("フォーム1").SetFocus Select Case Forms("フォーム1").Form.CurrentView Case 1 'フォームビューの場合 → データシートビューに切替 DoCmd.RunCommand acCmdSubformDatasheetView ' Forms("フォーム1").DefaultView = 2 Case 2 'データシートビューの場合 → ピボットテーブルに切替 DoCmd.RunCommand acCmdSubformPivotTableView End Select End Sub を実行すると、ちゃんとデータシートビューに切り替わります。 そしてデータシートビューからフォームビューへ切り替えようと思い 再度上記のコードを実行しても何も起こりません。 (エラーにもなりません) なぜでしょうか? ちなみに規定のビューをデータシートビューにして上記マクロを実行しても同様何も起こりません。データシートビューのままです。 MsgBox Forms("フォーム1").DefaultView で値を取得してみたら データシートビューでもフォームビューでも0が返って来ます。 何か原因がわかる方いらっしゃいましたら ご教授よろしくお願いします。

  • ACCESSのデータシートビューの設定について

    ACCESSのデータシートビューにした時、右クリックしても何も出てこなくなってしまいました。右クリックを禁止にするような設定等があって知らずにやってしまったのかもしれません。どなたかご存知の方、教えてください。よろしくお願いします。

  • データシートビューの文字のサイズを8以下にしたい

    アクセス2010です。 アクセスのフォームのデータシートビューの文字のサイズを8以下にしたいのですが 手作業では不可能のようです。 なのでVBAで行ないたいのですが どのようなコードを書けばいいでしょうか?

  • access2000・・テーブルをデーターシートビューで開くことができません

    お世話になっております。 access2000でとあるデータのテーブルを開こうとしたら 「テーブルをデーターシートビューで開けません」という メッセージが出てきました。 クエリやフォームは開くのですが、何故かテーブルのみこういったことになります。 何分accessをさっぱり解っていないので、どうすればいいかわかりません。 原因と解決策をご存知の方、お手数ですが宜しくお願い致します! 原因だけでも知りたいのです!

  • Accessのデータ編集におけるバグ?

    MicroOffice Accessにおいて、データシートビュー(デザインビューではない)でテキストデータを編集しています。 テキストデータをBackSpaceキーなどで削除するとカーソルとは違う部分が削除されて、大変編集がつらい状況です。(データ型は、ちゃんとメモ型にして使用しています) 特にデータが長いもの(50字以上)だとこうなるケースが多いです。 これは、バグなのでしょうか? もっと安心してデータ編集できる方法はありますか?

  • ACCESSでデータ読み取り専用を解除する方法

    こんにちは。初心者で本を読んでいるのですが、まったく分からない為質問させていただきました。ACCESS2000を使用し、データの変更作業をしようとしているのですが、「読み取り専用で削除できません」という表示がされ、編集ができません。 テーブルをデータシートビューで開き、その中の1行を削除しようとしているのですが、他にやり方があれば教えてください。また読み取り専用を解除する方法等ありましたら教えてください。 よろしくお願いいたします。

  • ACCESS フォームでの、データシートビューで表示できない

    ACCESS フォームで、 データシートビューで表示させたいのですが、 コマンドボタンから表示させる場合だと 単票形式の表示になってしまいます。 そのフォームを単独で起動させた場合は、指定通りに表示できるのですが・・・ プロパティの「規定のビュー」の項目は「データシート」と入力しております。 どうかご教授願います。

  • ACCESS ユニオンクエリはデータ編集ができない

    教えてください。初心者なので基本的なことで大変お恥ずかしいのですが・・・。 ACCESSでユニオンクエリを作成し、検索の結果としてフォーム上にデータが閲覧できるシステムを作りました。ユニオンクエリの元となる、テーブルは4つあります。 しかし、フォーム上からも、作成したクエリのデータシートビューからもデータの編集ができません。 クエリというのは、編集ができないという認識でいいのでしょうか。 データを編集するにはテーブルとしてインポートしなおして、作業するしかないのでしょうか? 何か良い方法があれば教えて下さい。

  • Accessでテーブルをデータシートビューで開けない

    ここ数日、AccessでAテーブルをデータシートビューで開こうとすると、ODBC すべてのレコードをロックできません、というメッセージが出てしまいます。デザインビューで開くことはできるのですが、このAテーブル(リンクテーブル)を使って新規クエリを作ることもできなくなってしまいました。 前に作ったクエリは普通に開くことができます。 Aテーブルを使わずにクエリを作成すると、問題なくできます。 設定を変えた記憶はないのですが、どうしたら元通りになるのでしょうか。 よろしくお願いします。