こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

ネットワーク上のMSアクセスを閉じる

Win7Pro Office2010Proです。
私のPCにネットワークドライブのHドライブがありABC.accdbがその中にあります。
Hドライブシェアー元はBさんのPCで、このPCがABC.accdbを常に開いております。これはAccessのタイマーにて夜中にデータをアップデートするために常に開いております。私のPCからある作業をするためにこのシェアー元PCで開いているABC.accdbを閉じて作業が終わった後再びこのABC.accdbをシェアー元PC上で開きたいと思っております。
リモードアクセス等でBさんPCに入る以外で何かよい方法はございませんでしょうか。
再び開く方はシェアー元PC側のタスクスケジューラーにて夜中のアップデート前に再起動をかけてスタートアップにABC.accdbが開く様にするつもりです。
しかし閉じる方はネットワーク上のPCですのでどうしてよいのかわかりません。VBAにて閉じる方法を検索しましたが自分のPC上のものは閉じることができますが、ネットワーク上のものについては書かれておりません。できないのであれば仕方がないので諦めますが、何かよい方法があれば教えて頂ければと思います。(VBAは人並に理解できます。)
よろしくお願い致します。

投稿日時 - 2016-01-22 04:01:40

QNo.9115175

困ってます

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

>「スケジュールされたリモートタスク管理」を設定しておく
必要があります。
と回答しましたが、(わたしのPCの環境では)この設定だけだと
エラーになってしまいました。
とりあえず、Windowsファイアウォール自体を無効にすると接続できる
ので、その辺の設定については別途詰めた方がよいかもです。

実際に別PCのタスクを実行することを確認しましたので、そちらでも
ABC.accdbを閉じることはできると思います。

投稿日時 - 2016-01-22 18:11:39

お礼

スケジュールされたリモートタスク管理でバッチを走らせてABCを閉じることができました。タスクスケジューラーはPCを再起動させたりアプリケーションを開いたり色々使っていますが、リモートPCのタスクを管理するのは初めて使いました。どうもありがとうございました。

投稿日時 - 2016-01-23 07:03:01

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(3)

ANo.2

ご自分のPCにてタスクスケジューラを起動し、そこから
BさんのPCのタスクスケジューラに接続することができます。
接続したらBさんのタスク一覧が表示されるようになるので
BさんのPCに予めABC.accdbを閉じるバッチを
タスクスケジューラに設定しておき、それをご自分のPCから
実行すればいけるはずです。
なお、BさんのPCのWindowsファイアウォールの例外設定で
「スケジュールされたリモートタスク管理」を設定しておく
必要があります。

投稿日時 - 2016-01-22 17:43:51

ANo.1

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
で行ってみてください。

以上大雑把ですが参考にはなるかなと?

投稿日時 - 2016-01-22 13:44:14

-広告-
-広告-
-広告-
-広告-