- ベストアンサー
ネットワーク上のMSアクセスを閉じる
- Win7Pro Office2010Proのネットワーク上のMSアクセスの閉じ方について
- ネットワーク上のMSアクセスを閉じる方法を検索したが見つからない
- VBAを使用してネットワーク上のMSアクセスを閉じることはできないか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>「スケジュールされたリモートタスク管理」を設定しておく 必要があります。 と回答しましたが、(わたしのPCの環境では)この設定だけだと エラーになってしまいました。 とりあえず、Windowsファイアウォール自体を無効にすると接続できる ので、その辺の設定については別途詰めた方がよいかもです。 実際に別PCのタスクを実行することを確認しましたので、そちらでも ABC.accdbを閉じることはできると思います。
その他の回答 (2)
- naoto0216
- ベストアンサー率46% (183/391)
ご自分のPCにてタスクスケジューラを起動し、そこから BさんのPCのタスクスケジューラに接続することができます。 接続したらBさんのタスク一覧が表示されるようになるので BさんのPCに予めABC.accdbを閉じるバッチを タスクスケジューラに設定しておき、それをご自分のPCから 実行すればいけるはずです。 なお、BさんのPCのWindowsファイアウォールの例外設定で 「スケジュールされたリモートタスク管理」を設定しておく 必要があります。
- NotFound404
- ベストアンサー率70% (288/408)
BさんPCにログオンしてってなると 色々色々と面倒なのでABC.accdbに小細工をしてみます。 テーブルを新規作成し(仮名にT1) フィールドを一個(仮名F1、データ型にテキスト) このテーブルは隠しオブジェクトに設定します。 フォームを一個作成(仮名F1)、これも隠しオブジェクトで。 フォームのタイマー間隔を10000(10秒)など タイマー時イベントに Private Sub Form_Timer() If DCount("*", "T1","F1 = 'byebye'") > 0 Then CurrentDb.Execute "delete * from T1" 'ここでの処理やめて手作業で消した方が良さげ DoCmd.Quit End If End Sub とします。 AutoexecマクロにこのフォームT1を非表示で開くように Docmd.openform "F1",windowmode:=achidden しときます。 ABC.accdb終了!の場合には、 あなたのPCでAccessを立ち上げShiftキーを押しながらABC.accdbを開きます。 この場合Autoexecマクロは走らないので BさんPCでF1フォームのタイマー時イベントが実行される前に 自PCで、CurrentDb.Execute "delete * from T1" されることもありません。 で、T1テーブルのF1フィールドに、byebyeと入力し確定。 BさんPCでタイマー時イベントが走って終了。。。 ※ABC.accdbをBさん以外にも開いている場合は考えていません! Bさんが何かの処理を実行中の場合も考えてません。 よくよく考えて実装しないと誰かのうめき声が部屋に響くかも? 誰がABC.accdbを開いているか?の確認は メモ帳でABC.laccdbを開いてみるとか https://support.microsoft.com/ja-jp/kb/285822 で行ってみてください。 以上大雑把ですが参考にはなるかなと?
お礼
スケジュールされたリモートタスク管理でバッチを走らせてABCを閉じることができました。タスクスケジューラーはPCを再起動させたりアプリケーションを開いたり色々使っていますが、リモートPCのタスクを管理するのは初めて使いました。どうもありがとうございました。