アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセスで設備管理のデータベースを作成しています。

テーブルA
設備管理No.
設備名
型式



テーブルB
設備管理No.
設備名
取得価額
期首帳簿価額
当期償却額
期末帳簿価格

フォームC
テーブルAをリスト表示

フォームD
テーブルBを単票形式で表示

フォームCにコマンドボタン1を作成、クリックでフォームDが開くよう、
ウィザードを利用し作成しました。
この際、設備管理No.で関連付けをし、特定のレコードのみを表示させています。

社内ネットワーク上にデータベースを置いていますが、
「データベースは読み取り専用です。」とメッセージが表示され方もいます。
社内システム管理者が、データベースを保存してあるフォルダに
制限を掛けているからだと思いますが・・・

読み取り専用で開く方際、特に問題は無いのですが、
この場合のみ、コマンドボタン1を無効にすることはできますか?
通常に開いた場合は、現状のままにしておきたいと思っています。

VBAやシステムに関して素人で、よくわからず
質問させて頂きました。

どなたかご教示願います。
よろしくお願い致します。

A 回答 (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」
が表示されるか)をしてもらってください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
無事に設定することができました。大変助かりました。
大感謝です。
ありがとうございました。

お礼日時:2011/07/01 16:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!