• 締切済み

Access2000について。

Access2000にて、複数ユーザーが使用するような システムを作っています。 フォーム上からレコードを削除しようとした場合に、 他のユーザーがそのレコードを編集中 (レコードセレクタがエンピツの状態、テーブルへの 更新はされていない状態)かどうかを 取得して、もし他のユーザーが編集中であれば レコード削除は行わない、というような ことができるのでしょうか? アドバイス 宜しくお願いします。

みんなの回答

  • pierre2
  • ベストアンサー率24% (259/1070)
回答No.1

最近あまり触っていないので自信は無いですが、 常に排他モードでテーブルを開くっていう設定があったような、、、

SidaSida
質問者

お礼

ありがとうございます。調べてみます。

関連するQ&A

  • Accessでレコードの更新を任意のタイミングで行うには

    Accessではテーブル内のレコードを編集したあと、他のレコードにカーソルを移動すると、編集されたレコードが更新(コミット)されてしまいますが、このようなアクションを行っても更新(コミット)されないようにして、ユーザーが任意のタイミングで更新(コミット)出来るように設定することは可能ですか? VBAでロジックを組まなくても実現可能なら良いのですが・・・。

  • Access、更新用データと連結したフォーム

    度々の質問で恐縮です。 検索フォームの検索結果を、レコードセレクタのWクリックで、 更新するためのテーブルと連結したフォームを開いて、 そのフォーム項目に「値の代入」をしています。 で、その「更新用データのフォーム」で更新項目を編集し、 ボタンを押すと「フォームと連結したテーブル」を使った更新クエリを実行する、 というマクロを実行するようにしてみました。 その処理を実行後、「更新用のフォーム」を閉じて、最初に書いた検索フォームで 検索すると、更新実行結果が反映しません。 レコードセレクタのWクリックを抜きにして、直接「更新用フォーム」を開き、 そのフォームにある「更新用のマクロ」を実行するボタンをキックすると反映します。 で、今は更新用フォームからマクロをキックするボタンは消して、 更新用フォームを閉じると、更新用データのテーブルは更新項目を反映しますので、 直接「更新用マクロ」をキックするだけのボタンしかないフォームを別に開いて、 そのボタンを押すようにしています。 最初の構成で、つまり、「更新用フォームで編集し、その画面のボタンで 更新用マクロをキックして更新実行したい」のですが、編集内容が 「更新データテーブル」に反映するには、どうすれば良いでしょうか? くだくだしい説明を書いてしまい、まことに申し訳ありませんが、よろしくお願いします。

  • Access2000(>_<)

    Access2000を使っています。 既存のデータベースからレコードを削除できないように設定したいと思っています。 そこで、フォームのデザインにて、フォームのプロパティを開き、「データ」タブで「削除の許可」を「いいえ」にしてから閉じてみたのですが、試しにテーブルでレコードを削除してみると、削除できてしまいます。 再びフォームのプロパティを見ると、「削除の許可」が「はい」に戻っています。変更が保存されていないようです。 同様に、特定のフィールドの上書きを禁止したいので、同じくフォームのデザインで、上書きを禁止したいフィールドのテキストボックスのプロパティの「データ」タブにて、「編集ロック」を「はい」にしてから閉じましたが、この変更も保存されておらず、編集ができるままの状態です。 どうすれば変更を保存できるのでしょうか…。 またほかに、レコードの削除を禁止する方法、特定のフィールドのみ上書きを禁止する方法があれば教えてください。初心者なのでわかりやすく教えていただけると助かります。よろしくお願いします。

  • Accessで表をRequeryすると…

    こんにちは。 Accessでサブフォームを持っているフォームがあり、サブフォーム側では Aというテーブルがレコードソースになっていて帳票形式で表示しています。 メインフォームで単票形式で表示してます。 サブフォームで表示された表の中から1レコードを選ぶと、メインのフォーム にコピーし編集が出来るようにしています。 そしてメインフォームで変更された内容をAテーブルに書き出し、サブフォーム の内容も最新の内容に書き換わっている、という事をしているのですが、 サブフォームをRequeryすると、表示順序やレコードセレクタの位置が変わって しまうのです。 サブフォームを、レコードを選択した時の位置のままで、内容は最新の状態で 表示できるようにするにはどうしたらいいのでしょうか? よろしくお願いします。

  • access2003のエラーについて!!

    access2003のエラーについて!! ACCESSでデータを入力中に突然テーブルのレコードが「レコード削除された」のメッセージが表示され、レコードが消えてしまいました。 また、フォームでは、レコードが表示されていないにもかかわらず、データが表示されます。 新規にレコードを作製しようとしても「レコードは削除されています」のメッセージが表示され、 作成できません。 この状態を、元に戻す方法はないでしょうか?

  • ACCESSで、新規か更新かの判断

    Accessを学び始めてまもないです。 質問内容、ことば等にに不備がありましたら申し訳ありません。 やりたいことは以下のとおりです。 フォームをあるテーブルと連結(レコードソースにテーブルを指定)して、 登録、削除、検索を行おうとしています。 (ウィザードで作成されたようなインタフェースは使いません) 基本的には新規登録状態で、 削除、検索の場合は別(サブ)フォームを開いてレコードを指定し、メインのフォームに戻って作業します。 お聞きしたいことは、 VBAで、メインのフォームが新規登録状態か更新状態かを知るにはどうしたらいいのでしょうか? (いわゆる、ウィザードで作成した単票形式で自動的に作成される、移動ボタン、新規登録ボタンのそのときの状態です) いまいち、私はAccessの仕組みが分かっていないようで、 ご迷惑をおかけしますが、よろしくお願いいたします。

  • アクセスのフォームビューの帳票フォームではレコード

    アクセスのフォームビューの帳票フォームではレコードを削除する事は出来ないのでしょうか? データシートビューではレコードセレクタを選択し右クリックをすると 「レコードの削除(R)」という項目が出てきますが 帳票フォームでは出てきません。 帳票フォームでレコードを削除する方法を教えてください。 よろしくお願いいたします。

  • ACCESSでレコード追加ができない

    ACCESSでレコード追加ができない access2003のADPファイルとSQLServer2005で利用しております。 複数のユーザーへ、同じADPファイルを配布しており、設定も勝手に変えられないように制限しています。 テーブルにレコードを追加するフォームがあるのですが ほとんどのユーザーは問題なく追加できるのですが、 特定のユーザーがレコードの追加ができなくて困っております。 (フォームのデザインの設定はレコード追加可能にして配布しています。) 追加できない問題のユーザーも、参照などは問題なくできています。 1.アクセスのレコード追加の可否がPCごとに設定可能で、配布したADPファイルの設定を無視してしまうような機能があるのでしょうか? 2.PCになんらかの問題がある場合、どのように検証を進めればよいのか、まったくわかりません。   参考になるサイト、同様な体験の事例での解決方法などなんでもいいので教えていただければ幸いです。 ※ちなみに、利用しているPCは同じメーカーの同じ型番で、MicrosoftUPdateの更新も常に最新状態を保っています。OSはXPのプロフェッショナルです。 宜しくお願い致します。

  • Accessのmdbがすぐロックされてしまう。

    お世話になります。 現在access2002を使ってシステムを構築しています。現状を説明させて頂くと, ・私    テーブル,クエリやマクロ等を作成・編集。 ・ユーザー テーブルやクエリを参照。テーブルの中身を編集。 という状況なんですが,ユーザーがクエリ等を開いているだけで全体にロックがかかってしまい,関係ないマクロやクエリの編集が出来ないことがよくあります。 「ユーザーが使う時間帯に編集しない」「先に開いてずっと所有権をもったままにしておく」「参照するようのファイルを別で作りそちらで参照させる。」等の運用面のカバーは思いつくのですが,ユーザーが現在編集しているテーブル以外にロックがかかる状態がやるせないです。 ・既定の開くモード「共有モード」 ・既定のレコードロック「編集済みレコード」 ・レコードレベルでロックして開くにチェック。 この三つを選択しているので,ユーザーがテーブルを開き,何らかの修正を行っていて,完了させるまではテーブル一つだけがロックされるってなればいいと思うんですがそうではないみたいです。 最終的な質問としては,「ユーザーがテーブルの編集をする度に全体にロックがかかってしまうのを防ぐ方法はないでしょうか?」となります。 お手数おかけしますがご回答宜しくお願い致します。

  • Accessの帳票形式のフォームについて

    いつも楽しく勉強させていただいております。 OSはWindows7。 フロントエンドがAccess2013でSQLServer2012がバックエンドです。 複数レコードを一度に表示するいわゆる帳票形式のフォームを作ります。 [保存]ボタンで変更を保存、[キャンセル]ボタンで保存しないでフォームを閉じます。 このようなフォームを作る際、私はこれまでこの方法でやってきました。 1.本物テーブルの内容をテンポラリのテーブルにコピー 2.テンポラリのテーブルと連結したフォームで編集 3.[保存]ボタンのクリックでテンポラリのテーブルで本物を上書き この方法の弱点は本物のテーブルにロックがかからないことです。 かといって本物のテーブルに連結したフォームにすると編集した内容をキャンセル することができません。 これを解決する根本的な方法はないものでしょうか。 たとえば帳票形式にする代わりにデータグリッドのようなコントロールを使用して 本物のテーブルにロックをかけつつ複数レコードの変更のキャンセルも可能という フォームは作れますか。 フォームをデザインビューで開いたときに見られるActiveXコントロールには データグリッドに類するコントロールはないようです。 ネットで調べるとVB6.0のDataGridコントロールを使用できるとか、 操作がうまくいかないとかAccessでVBのコントロールを使用するのはそもそも 許されないとか書いてあるのでデータグリッドを使う方法は無理でしょうか。 もう一度問題を整理すると、以下のようになります。 1.複数レコードを一度に表示して編集したい。 2.そのレコードにロックをかけたい。 3.編集のキャンセル(ロールバック)も可能にしたい。 帳票フォームでもデータグリッドでも方法は問いません。 あるいは「Accessでは実現できない」という情報でもいいです。 お詳しい方、どうかよろしくお願いいたします。