• 締切済み

アクセスのクエリを削除できないように設定したい

お世話になります。 アクセス超初心者なのですが、 仕事で使っているアクセスのデータで、 いくつかあるクエリを選ぶときに、間違ってデリートキーを押して クエリを削除してしまうことがあります。 デリートを押しても削除できないようにできたらいいなと思ったのですが、 そういった設定は可能なのでしょうか? どうぞ、よろしくお願いいたします。

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> そういった設定は可能なのでしょうか? Accessで行える『設定』としては、以下の2つが用意されています:  a)削除しようとしたときに、確認メッセージが表示されるようにする   (「はい」を選択すると、削除できてしまいますが)  b)『セキュリティ ウィザード』を使用して、既定のユーザー アカウント   ではクエリなどを削除できなくする ただ、「a」の方は、Accessでの初期設定そのままですので、その 確認メッセージで思わず「はい」を選択してしまっている、ということ だとすると、実質「b」しかない、ということになります。 ※設定を変えていないにもかかわらず、メッセージが表示されない  場合は、下記「<注意>」を参照。 また、「b」のウィザードはAccess2007以降では削除されてしまって いますので(→Access2003以前のバージョンで作成済のものは、 その設定を引き継ぐことは可能)、Access2007以降のバージョン しか持っていない、或いはaccdb形式でないと問題がある、といった 場合は使えません(汗) 【aの場合】 <Access2003以前>  1)当該ファイルを開く  2)メニューで、「ツール(T)→オプション(O)」を選択  3)『オプション』ダイアログが開くので、『編集/検索』タブを選択  4)右側の『確認』領域の中にある、『オブジェクトの削除(D)』の   チェックをオンにする  5)『OK』ボタンをクリックして上記ダイアログを閉じる <Access2007(以降?)>  ※当方、Access2010は持っていませんが、同じと推測。  1)当該ファイルを開く  2)画面左上のOfficeボタンをクリックし、最下方にある   『Access のオプション(I)』ボタンをクリック  3)『Accessのオプション』画面が開くので、左端の領域   から「詳細設定」を選択  4)『編集』領域に『確認』の項目があるので、その中の   『オブジェクトの削除(E)』のチェックをオンにする  5)『OK』ボタンをクリックして上記画面を閉じる ・・・以上です。 <注意> もしもVBAを使用していて、そちらで「DoCmd.SetWarnings」で False」を指定している場合、処理終了までに「True」に戻して いないと、上記設定に関係なく、このメッセージは表示されなく なりますので、ご注意下さい。 【bの場合】 まずは当該ファイルを開いた後、「ツール(T)→セキュリティ(T) →セキュリティ ウィザード(W)」を指定してウィザードの処理を 行います。 ※予め、現在のファイルのバックアップはとっておいてください。 その上で、(他の端末から使用した場合でも同じ設定を 有効にする必要がある場合は)以下のQ&AのNo.2に記述 した手順を実行します: http://okwave.jp/qa/q5877462.html ・・・とりあえず、こちらの方法についての説明は、今回は ここまでで留めておきます。 「この方法を採ることに決めたものの、実際にやってみたら ここがよくわからない」ということがありましたら、お礼欄などに 詳しい情報を記述してください。 わかる範囲でではありますが(汗)、お答えしますので。 【蛇足】 「クエリを実行するつもりが、間違って削除してしまった」という のは、データベース ウィンドウ(クエリなどの一覧が表示される 画面)を表示してしまっているから、ともいえます。 その意味では、「リストボックスに全クエリの名前を表示し、 そのダブルクリック或いはコマンドボタンで実行するための フォーム」を作成し、データベースウィンドウは非表示にする、 といったアプローチもあるかと思いますので、併せて参考まで。 (データベースウィンドウの非表示は、「ツール(T)→起動時の  設定(U)」で開くダイアログで設定できます:2003以前) ※2007以降なら、「Officeボタン」→「Access のプロパティ(I)」   で開く画面の『カレント データベース』内の『ナビゲーション』   領域にある、「ナビゲーション ウィンドウを表示する」をオフに   すればOk。

suama0123
質問者

お礼

ご回答いただき、ありがとうございます! ひとまず、aの方法をとってみて解決いたしました。 (恥ずかしながら素人過ぎて、bの方法は試すこともできなかったので、、、) 消そうとするとメッセージが出るので、こちらで問題解決できると思います。 お返事が遅くなってしまい大変申し訳ありません、 本当に助かりました!!(*^▽^*) ありがとうございました! どうぞ、よろしくお願いします。

関連するQ&A

  • Access2003  クエリ フィールドデータの削除

    Accessの質問です。 Access超初心者です。 仕事でデータが自動で入れ替えするプログラム作成を依頼されましたが、Accessの使い方がよく分からず悩んでおります。 質問は下記となります。 (1)クエリの設定にて、フィールド自体は残すが、 データだけすべて削除する方法 (2)クエリの設定にて、フィールドの一行目だけを残し、すべて削除する方法 お手数お掛けいたしますが、ご回答宜しくお願いいたします。

  • ACCESSの削除クエリについて

    ACCESSの初心者のものです。 選択クエリで2つのテーブルから一致した項目を抽出したものをだしました。 そのレコードを(2つのテーブル)のデータを削除したいのですがどうすればいいでしょうか? よろしくお願いします。

  • アクセスの削除クエリでいいのでしょうか?

     データベースで検索できるようにしたいのですが・・・・。クエリの検索結果をフォームに反映させています。  検索結果表示後、もう一度検索フォームに戻り、検索をかけたときヒットするデータがないにも関わらず前回の検索結果が表示されたままになってしまいます。 削除クエリを使用すればいいのでしょうか?  また削除クエリをどのように設定したらいいのでしょうか?(たとえば抽出条件が必要なのでしょうか?)  この場合、マクロはいったん削除クエリを開き、もう一度クエリを開く設定でいいのでしょうか?分かりにくい質問ですいませんが教えてください

  • Accessの削除クエリについて

    Access2000でODBCを使ってMySQLへリンクテーブルを作成しています。 このテーブルを元に削除クエリを作成し、実行すると DATA 800件で約3分程度かかってしまいます。 ネットで色々調べてみたのですが、 高速化の記事を見つけることができません。 クエリのプロパティでトランザクションの使用を"いいえ"に変えて みたりしましたが全く効果がありません。 削除クエリを高速化するには、どうしたら良いのでしょうか?

  • Accessクエリについて

    お世話になります。 Access初心者です。 テーブルを3つ使いクエリを作成して見ました。 しかし、データが何故か重複している物があるのですが、 どうしてでしょうか。 解消方法はどうすれば宜しいのでしょうか。 お教え頂きたく宜しくお願い致します。

  • アクセスのクエリでレコード削除ができません。

    アクセス超初心者です。 テーブルを商品コードでくっつけて、クエリのデザインビューで表示しました。 いらないレコードを削除しようとしたところ、できません。 くっつける前の、テーブルではできますが、クエリで実行させ、レコードを削除しようとしたところできません。 どうしたらよいのか教えてください。 あと、もうひとつ、クエリで、出力したいフィールド名をドラッグしたあと、削除したいときには、どうすればよいでしょうか? 表示しないなら、できるのですが・・・。削除がわかりません。 よろしくお願いいたします。

  • Accessの削除クエリについて

    『先月分のデータを全て削除』という削除クエリを作りたいのです。 本を見ても、 『指定した日の○日前の分までのデータを削除する』はあるのですが・・・・。 例えば、 5月5日にクエリを実行しても、5月10日にクエリを実行しても、4月30日以前のデータが削除されて欲しいのですが。 よろしくお願いいたします。

  • アクセスのクエリで

    アクセス初心者です。 テーブルを作ってクエリもできたのですが 新規にデータを入力する欄が テーブルにはありますがクエリにはできません。 なぜでしょうか? あらゆる可能性を聞きたいです。 回答お願いいたします。

  • Access 削除クエリが重い

    お世話になります。 環境:Access2003     SQL Server 2008 R2 Express 先日、Accessのローカルにあるテーブルが20万レコードを超えた為、SQLサーバーへ移行しました。 しかし、Accessより削除クエリにて(フォーム上に設置した削除ボタンにて)当該テーブルのレコードを削除しようとすると、4分ほどかかりました。 なお、ローカルにあったときは上記操作をしても2、3秒程度で削除完了してました。 PCのスペックやテーブルのレコード数によるかとは思うのですが、ローカルテーブルとSQLテーブルでこんなに時間が違うものなのでしょうか。 また、回避策や何か設定すれば早くなるなどございましたら、ご教授頂けたらと思います。 宜しくお願い致します。

  • ACCESSでデータ削除すると「読み取り専用」と出る

    WINXP、ACCESS2003 ACCESSで二つのテーブルの差分のクエリを作りデータの修正を行っています。 差分のクエリをそのまま、すべて選択してDeleteボタンでデータを削除しようとすると「データは読み取り専用です」と表示され、削除することができません。 レコードを選択して右クリックしても「削除」「新しいレコード」の箇所がグレーになっていて利用できません。 どこかが、読み取り専用になっているのでしょうか? ちなみに、元のテーブルは削除できます。 よろしくお願いします。

専門家に質問してみよう