- ベストアンサー
Accessフォーム読取専用時のコマンドボタン無効化について
- Accessフォームを読取専用で開いた場合に、特定のコマンドボタンを無効にする方法について教えてください。
- 社内ネットワーク上のデータベースを読取専用で開く際、一部のユーザーには「データベースは読み取り専用です。」と表示され、特定のコマンドボタンを無効にしたいと考えています。
- VBAやシステムに詳しくないため、具体的な方法がわかりません。質問にお答えいただけると幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 「データベースは読み取り専用です。」とメッセージが表示され方もいます。 その方のPC端末で、WindowsのメニューからAccessのみを立ち上げた後、 Access2003以前の場合:メニューで「ファイル(F)→開く(O)」を選択 Access2007以降の場合:「Officeボタン(画面左上隅)→開く」を選択 して『ファイルを開く』ダイアログを表示させ、対象ファイルを選択したら、 右下にある『開く(O)』ボタンの『▼』をクリックし、そこの選択肢から『開く』 をクリックしてみてください。 (ここの選択肢で「読み取り専用で開く」を選択すると、次回起動時からは 自動で読み取り専用で開かれるようになってしまうので) ・・・上記で「読み取り専用」のメッセージが表示されなくなるようでしたら、 以下の操作は不要です。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 上記操作を行ってもご質問のメッセージが表示される状態であれば、 そのファイルを開いた状態で、Ctrl+Gの同時押しをしてみて下さい。 『イミディエイトウィンドウ』が表示されるはずなので、そこに ?CurrentDb.Updatable と入力した上で、Enterキーを押してみてください。 (『イミディエイト ウィンドウ』が表示されない場合は、一旦Accessを閉じた後、 Shiftキーを押しっぱなしにした状態で同じファイルを開いて『起動時の設定』 を無効にしてから、再びCtrl+Gを押します: それでも表示されない場合は、下記の【補足】を参照) ?Currentdb.Updatable False と表示されるようであれば、以下の方法で『コマンドボタン1』の有効/無効を 切り替えられます。 ※上記操作で「True」が表示される場合は、以下の対応は無意味です(汗) 1)フォームCをデザインビューで開く 2)何もないところをダブルクリックするなどして、フォームのプロパティシートを開く 3)『イベント』タブの『開く時』にカーソルを移動し、右端の『...』(ビルダ)ボタンを クリック 4)『ビルダの選択』ダイアログが開いた場合は、「コードビルダ」をダブルクリック 5)Visual Basic Editor(VBE)画面が開き、「Private Sub Form_Open(Cancel As Integer)」と「End Sub」という行が表示されるので、その間の行に以下の コードを記述 (同イベントに既にコードが記述されている場合は、他のコードに支障がなく、 また、確実に処理が行われる行に記述する必要があります): Me!コマンドボタン1.Enabled = CurrentDb.Updatable 6)フォームを保存して閉じる ・・・以上です。 【補足】 Shiftキーを押しっぱなしにするタイミングは、「開く直前の状態から」です。 ・Access2002/2003で、「キャンセル/開く/詳細」の選択肢が表示される 場合は、『開く』をクリックするところから。 ・それ以外のバージョンで、Passwordが設定されている場合は、Password を入力し終わった後、『OK』ボタンをクリックするところから。 ・上記以外の場合は、ファイルをダブルクリックするところなどから。 Shiftキーを押しっぱなしにしても、Ctrl+Gで『イミディエイト ウィンドウ』が表示 されない場合は、Shift起動が無効にされていますので、データベース作成者 に一旦解除してもらうか、上記の確認(「?CurrentDb.Updatable」で「False」 が表示されるか)をしてもらってください。
お礼
ご回答ありがとうございます。 無事に設定することができました。大変助かりました。 大感謝です。 ありがとうございました。