Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1139 / 2272 ツリー ←次へ | 前へ→

【8618】データベース修復&最適化 迷える子羊 06/9/21(木) 12:15 質問[未読]
【8619】Re:データベース修復&最適化 小僧 06/9/21(木) 13:53 発言[未読]
【8620】Re:データベース修復&最適化 迷える子羊 06/9/21(木) 15:12 お礼[未読]

【8618】データベース修復&最適化
質問  迷える子羊  - 06/9/21(木) 12:15 -

引用なし
パスワード
   夜間のバッチ処理でデータベース修復&最適化を以下の方法を
考えているのですが、問題が・・・
1.「AUTOEXEC」という名前のマクロを作成し、
 データベース修復&最適化を実行させている。
2.上記1.のマクロが格納されているmdbファイルを
 MSDOSのバッチファイルから、実行する。

上記の方法を取ると、1.のマクロが実行されると
データベース修復&最適化したいファイルを指定するための
ダイアログボックスが表示され、それを指定しないと、
次の処理に進みません。
夜間のバッチ処理なので、データベース修復&最適化の対象は
固定のファイル名にして、ダイアログも表示されること無く
連続して処理を継続していくようにしたいのですが、
可能なのでしょうか?
ご教授の程よろしくお願い致します。

【8619】Re:データベース修復&最適化
発言  小僧  - 06/9/21(木) 13:53 -

引用なし
パスワード
   ▼迷える子羊 さん:
こんにちは。

>夜間のバッチ処理でデータベース修復&最適化を以下の方法を
>考えているのですが、問題が・・・

まったく違った方向からなのですが、

Const strOld = "c:\test.mdb"
Const strNew = "c:\testnew.mdb"
CreateObject("DAO.DBEngine.36").CompactDatabase strOld, strNew
CreateObject("Scripting.FileSystemObject").DeleteFile strOld
CreateObject("Scripting.FileSystemObject").MoveFile strNew, strOld

上記コードをメモ帳にでも貼り付けて、拡張子を「.VBS」にして保存。
後はWindowsのタスクスケジューラに仕込んでおけば
自動で最適化を行ってくれると思います。

DAO.DBEngine.36 の所はお使いのAccess のバージョンに依存します。
またスクリプトファイルを実行するので、
ウィルス対策ソフトに邪魔をさせる可能性も考えられますね。

【8620】Re:データベース修復&最適化
お礼  迷える子羊  - 06/9/21(木) 15:12 -

引用なし
パスワード
   ▼小僧 さん:
VBスクリプトを夜間バッチに使用することが今まで無かったので、
えっ!!と思ったのですが、やって見てびっくりアクセス起動無しで
出来てしまったので処理も早いし、大変助かりました。
ありがとうございました。

1139 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078216
(SS)C-BOARD v3.8 is Free