クエリのレコードセットが勝手に変わる問題とは?

このQ&Aのポイント
  • access クエリのレコードセットが勝手に変わってしまう問題が発生しています。
  • 使用者がクエリのプロパティを直接変更していないにも関わらず、レコードセットプロパティが自動的に変わってしまっています。
  • この問題の原因や対策方法について、Web上では情報が見つからないため、助言を求めています。
回答を見る
  • ベストアンサー

access クエリのレコードセットが勝手に変わる

access 2010を使用しています クエリのレコードセットプロパティを使用者(閲覧者)が変更できないようにするため、「スナップショット」にしていたのですが、「ダイナセット」に勝手に変わってしまいます。 このクエリは外部データベースをそのまま閲覧できるようにしている物です。 (ちなみに外部データベースは他ファイルのアクセスデータベース(mdb)です。) 使用者は社内の一部社員であり、どのような操作を行って変更したかは特定できませんが、 クエリのプロパティを変更できるだけの力量を持った社員はいないので、直接変更したことは ないと思われます。 クエリのプロパティを直接変更せずにレコードセットプロパティが変わることはあるのでしょうか? もし、そのような事があるならば、使用者に変更させないようにする対策は他にあるのでしょうか? Web上を色々検索してみましたが、原因や良い対策方法が見つからないので、どなたかご教示お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>クエリのプロパティを直接変更せずにレコードセットプロパティが変わることはあるのでしょうか? その経験も情報もありませんが クエリは削除し、 フォームのレコードソースに直接、クエリのSQL文を書き込み MDE か ACCDE にしてしまう。 クエリは非表示にしておいて、オプションのカレントデータベースの 「ナビゲーションウィンドウを表示する」のチェックを外す。 ・・・ とかでユーザーにテーブルやクエリに触れさせないようにする。 ご参考まで。

terao1974
質問者

お礼

ご教示ありがとうございます。 そして、お返事が遅くなりまして申し訳ありません。 MDE化させる方法がありましたね。 それでしたら、基本的に変更できなくなるはずなので、このような問題が発生することはない気がします。 一度試しに作成してみます。 ありがとうございました。

関連するQ&A

  • access2007について質問させていただきます。

    access2007について質問させていただきます。 VBAからフォームのレコードセットプロパティを変更することは可能でしょうか? フォームをデザインビューで開いたときのデータタブのレコードセットプロパティをボタンを押したときにダイナセットからスナップショットに変更したいのですが.....

  • クエリの結果とレコードセットの結果が違う

    開発言語:VB2010 データベース:アクセス2010 VB2010でDAOを使用して、ACCDBに接続しています。 以下のテーブルに対して、SQLで、Snapshotで開いているのですが、クエリの結果とレコードセットの結果が違ってしまい困っております。 クエリだと濁点は抽出しませんが、レコードセットで開くと濁点も抽出されてしまいます。 レコードセットでもクエリと同じように濁点を拾わず抽出するにはどのようにしたらよいのでしょうか? ご存知の方がいましたらご教授していただけるとありがたいです。 **テーブル名** MST_得意先 *MST_得意先フリガナフィールド 1.ガイコク 2.カカシ *参照設定 Microsoft.Office.Interop.Access *SQL文 SELECT MST_得意先.* FROM MST_得意先 WHERE (MST_得意先.得意先フリガナ Like '*カ*'); OpenRecordset(SQL, Dao.RecordsetTypeEnum.dbOpenSnapshot) *結果 ・クエリ=2.カカシのみ抽出(濁点抽出なし) ・レコードセット=1.ガイコク、2.カカシ(濁点抽出)

  • Accessのクエリのプロパティ

    クエリのプロパティの「最大レコード数」について教えてください!! 「ODBCデータベースからAccessデータベースにデータを返すクエリやSQLデータベースからAccessプロジェクトにデータを返すビューで返される最大レコード数を指定します。」 という説明を見たのですが、なんのことやら。。。 わかりやすく教えてほしいのです。

  • Access クエリ このレコードセットは・・・

    いつもお世話になります。 Accessで下記の様にクエリを作成しましたが、”このレコードセットは更新できません”と出てしまいます。 ■テーブル1  ・顧客ID(主キー)  ・顧客名  ・住所  ・TEL ■テーブル2  ・顧客ID  ・取引ID(主キー)  ・請求金額 ■クエリ1(集計クエリ)  ・顧客ID グループ  ・請求金額合計: Sum(請求金額) 合計 ■クエリ2(実際に使用するクエリ)  ・顧客ID(テーブル1)  ・顧客名(テーブル1)  ・住所(テーブル1)  ・TEL(テーブル1)  ・請求金額合計(クエリ1) このクエリ2を開いて更新しようとしても、”このレコードセットは更新できません”と左下に表示されて更新できません。 ・請求金額合計(クエリ1)を除けば問題なく更新できます。 ですが1顧客に対して通算で幾ら請求をしたかとその顧客のデータを同一クエリで表示・更新したいので、意味をなさなくなってしまいます。 どなかた良い方法をご教授下さいませ。

  • アクセス2007 クエリの作り方

    アクセス2007 クエリの作り方 テーブルA 氏名  生れ年 ---------------- 佐藤   1990 鈴木   1950 斎藤   2000 伊藤   1970 テーブルB ------------------ 年齢   項目 10    少年 20    成人 60    還暦 とあった時 テーブルAを元に「クエリ1」で「年齢」を追加し 年齢: Year(Date())-[生れ年]としました クエリ1 氏名  生れ年 年齢 -------------------- 佐藤   1990  20  鈴木   1950  60 斎藤   2000  10 伊藤   1970  40 更に、「テーブルB」の年齢と「クエリ1」の年齢をリレーション(多対1?)して「クエリ2」としました。 クエリ2 氏名  生れ年 年齢 項目 --------------------------- 佐藤   1990  20 成人 鈴木   1950  60 還暦 斎藤   2000  10 少年 伊藤   1970  40「空欄」 アクセスはまだ良く理解していないのですが、これだとレコードの更新ができません。 フォームでレコードセットを「ダイナセット (矛盾を許す)」にすると更新はできますが不安です。 こんな時「ダイナセット (矛盾を許さない)」で行い場合どんなリレーションにしたら良いのでしょうか?    

  • アクセスの仕様について レコードセットとは?

    アクセスのクエリの最大フィールド数を知りたくて http://office.microsoft.com/ja-jp/access/HP051868081041.aspx を見たのですが クエリの左側にある「+」ボタンを開いて 「属性:レコードセットのフィールド数」 がクエリの最大列数でしょうか?(255) そうだとしたら 「レコードセット」の意味がよくわかりません。 レコードセット=クエリでしょうか?

  • レコードセットからレコードセットって作れますか?

    WindowsXP,VB6,SP5,で開発しています。 タイトルそのままなのですが、 ある事情で、まずはデータベース(Access)からレコードセットを作成しています。 そのレコードセットをもとに色々と抽出したいんです。 もし、データベースからSQL文で抽出するときみたいに、そのレコードセットを、 SUM(~とかGROUP化したりとかできればいいなあと思っているのですが、 その方法がわからず、2,3回遠回りしてレコードセットを作成してます。 レコードセットからレコードセットを作成することってできないのでしょうか? わかりにくくてすみませんが、どうぞよろしくお願いしますm(_ _)m

  • Access クエリでレコードセット作成

    Access2010でVBAを勉強しています。クエリオブジェクトからレコードセットを作れるかお教えください。 クエリのデザイン作成で3つのテーブルからデータを抽出するクエリを作りました。 このクエリオブジェクトからレコードセットを作りたいと思っていますが、作り方がわかりません。 よってクエリオブジェクトのSQLビューでSQLを確認し、VBAの中で下記のようにSQLを作ってレコードセットを作っています。 これだと効率が悪いので、クエリオブジェクトから直接レコードセットがつくれないかと思っています。 方法がありましたらお教え下さい。よろしくお願いします。 strSQL = "SELECT master.[サイズ], master.単価," strSQL = strSQL & "Nz([入庫数量の合計])-Nz([出庫数量の合計]) AS 在庫数" strSQL = strSQL & " FROM (master LEFT JOIN Q_出庫 ON master.[サイズ] = Q_出庫.[サイズ])" strSQL = strSQL & " LEFT JOIN Q_入庫 ON master.[サイズ] = Q_入庫.[サイズ]" objADORS.Open "T_出庫", objADOCON, adOpenDynamic, adLockOptimistic

  • レコードセットとテーブルやクエリは同じ様な意味

    アクセスなどのレコードセットとテーブルやクエリは同じ様な意味ですか?

  • レコードセットについて

    ACCESSを勉強中のものです。 レコードセットの意味がよくわからないのですが テーブルやクエリの事を「レコードセット」と言うのでしょうか?

専門家に質問してみよう