電子書籍の厳選無料作品が豊富!

現在Accessで会社の業務アプリケーションを作成しています。
ファイルサーバのフォルダに作成したmdbファイルを置き、各クライアントには、デスクトップにmdbのショートカットを配置してあります。

しかし、最近mdbのサイズが大きくなり、たまにファイルが破損するという現象が起きるようになりました。

そこで、mdbをテーブルとそれ以外に分け、テーブルのみのmdbをサーバに置き、テーブル以外のmdbをそれぞれのクライアントにコピーしました。

これで少しは改善すると思うのですが、この業務用アプリケーションはかなり頻繁に改良/修正が行われます。今までは、サーバに置いてあるmdbを修正するだけで良かったのですが、今回各クライアント(20台)にテーブル以外(クエリ・フォーム・レポート等)のmdbをコピーして運用しているので、一度修正が発生すると、この各クライアントのmdbを更新しなければなりません。

これはかなり手間がかかってしまうので、なんとか違う運用方法がないか、いろいろ検討しています。

実際に作業するのは私一人です。
一人でも20台のクライアントのmdbを簡単に更新できる方法はないでしょうか。

宜しくお願いします。

A 回答 (4件)

ログオンするだけでサーバにある最新の


プログラムが配布される方法です。
--
サーバ\\Asvr\Sample\にて
 1.PG.mdbとDB.mdbを格納する。
各クライアントにて
 2.以下のように記述したバッチAA.batをC:\に格納する。
  @echo off
  copy /y \\Asvr\Sample\PG.mdb C:\
 3.バッチのショートカットをスタートアップに入れる。
 4.バッチを実行後、C:\PG.mdbのショートカットを
   デスクトップに作成し、名前を変更する。
--
いかがでしょうか?
    • good
    • 0
この回答へのお礼

soaikatsさん、ありがとうございます。
こんな簡単な方法で最新版をコピーできるとは思いませんでした。
おもしろそうなので試してみたいとおもいます。

お礼日時:2007/01/12 17:34

アプリMDB と データMDBのテーブルにバージョン番号フィールドを設け


アプリMDBのAutoExec マクロでチェックして
必要に応じて下記VBSファイルを呼び出して自身は終了するでは?

Test.VBS の内容
Set ws = CreateObject("Wscript.Shell")
Set fs = CreateObject("Scripting.FileSystemObject")
serverPass = "\\ServerName\共有名\アプリ.mdb"
localPass = ws.SpecialFolders("DeskTop") & "\アプリ.mdb"

'wscript.echo serverpass & vbCrLf & localPass

ws.PopUp "しばらくお待ちを" , 3
Wscript.Sleep 1000'アプリMDB終了までの時間稼ぎ

If fs.FileExists(serverPass) Then
fs.CopyFile serverPass ,localPass,True
Else
Wscript.Echo "サーバーにファイルが見当たりません"
Wscript.Quit
End If

'wscript.echo "msaccess.exe" & Chr(32) & Chr(34) & localPass & Chr(34)
ws.Run "msaccess.exe" & Chr(32) & Chr(34) & localPass & Chr(34)
    • good
    • 0
この回答へのお礼

nicotinismさん、ありがとうございます。
VBスクリプトは全く分かりませんので、一度調べさせて
もらいます。

お礼日時:2007/01/12 17:31

各クライアントのMDBを開発用PCで参照するようにしておけばいいと思います。


ドラッグアンドドロップを20回やればいい訳です。
ただ、その場合、リンクを再構築しないで済む仕掛けはして置く必要があります。
ただ、その場合、リンクを再構築する仕掛けはして置く必要があります。

この回答への補足

Husky2007さん、ありがとうございます。
各クライアントのmdbを置くフォルダをネットワーク上で共有できる形にしておき、修正版が出来た場合は、各クライアントの共有フォルダ上のmdbを更新するという考え方でよろしいでしょうか。

なるほど、それなら各クライアントまで足を運ぶ必要はなさそうですね
テーブル以外のmdbはテーブルの部分が全て「テーブルのリンク」です。

これは更新の都度、リンクの再構築をしなければならないのでしょうか

補足日時:2007/01/11 15:01
    • good
    • 0

テーブルのみのmdbとテーブル以外のmdbをともにサーバに置けば良いでしょう。

この回答への補足

fuuten_no_nekoさん、ありがとうございます。
テーブル以外のmdb(以下フロントmdb)もサーバに置き、それぞれのクライアントにはそのフロントmdbのショートカットを配置させるという考え方でいいのでしょうか。

上記の運用方法だとパフォーマンスの方は落ちないでしょうか?

補足日時:2007/01/11 14:57
    • good
    • 0

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