プロが教えるわが家の防犯対策術!

アクセス2000でデータ管理をしているのですが、本来のファイルが破損したことがあるので、バックアップをとりたいと考えています。
フォームにコマンドボタンを作って、そのボタンをクリックしたら指定されたフォルダへコピーするようなことは出来るのでしょうか?
もし、できるとすれば、どうすればよいのでしょうか?

A 回答 (4件)

すみません・・・


念のための回答です。

DDR$ = "D:\元データ保存場所"
DDR2$ = "C:\ZOO\D_BackUp"

DBEngine.CompactDatabase DDR$ + "\Resurch.mdb", DDR2$ + "\Resurch.mdb"

でできると思います。
実際このソースコードは、DBの最適化のためのコードなので、バックアップのコードもあるかとは思うのですが・・・
    • good
    • 0
この回答へのお礼

細部にわたってお教えいただきありがとうございます。
早速、ご指示とおりやってみたところ次のようなエラーが発生してしまいました。別に意識して排他的に開いているつもりはないのですが、どうしたらいいのでしょう。
「このデータベースは、マシン '<マシン名>' のユーザー '<ユーザー名>' が排他的に開いています。データベースが使用可能になった時点で、再度実行してください。(Error 3356)」

お礼日時:2001/08/03 14:37

自分も言葉足らずですみません・・・



DBEngine.CompactDatabase DDR$ + "\Resurch.mdb", DDR$ + "\Resurch.mdb"

ですが、

DBEngine.CompactDatabase

でアクセスのデーターベースを最適化するコードです。

はじめの DDR$ + "\Resurch.mdb" でどのファイルを最適化(バックアップ)するのかを指定します。

次に DDR$ + "\Resurch_Buck_Up.mdb" でファイルのバックアップを作成します。

このときのDDR$の変数にはじめのものと違う場所を格納してあげるようにすると
別の場所にバックアップが作成できます。

同じ場所に同じファイル名 (DDR$ + "\Resurch.mdb")で保存するとエラー
になるみたいですので、違う名前にしてあげてください。

説明足らずのところもあると思いますが、多分これでできます。
    • good
    • 0

マクロで「オブジェクトのコピー」を行うのはいかがでしょう。

    • good
    • 0

自分はVBで下記のようなコードを記述してます。



DBEngine.CompactDatabase DDR$ + "ファイル名", DDR$ + "ファイル名"

ちなみにDDR$は変数名です。(保存場所のパスを指定してます。)

DBEngine.CompactDatabase でアクセスのデータベースを最適化して保存します。
これを利用してます。

他にも色々な方法があると思いますので、探してみると楽しいと思いますよ!
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます。
もう少し教えていただきたいのですが、DDR$ + "ファイル名", DDR$ + "ファイル名" ってどんな意味なんでしょうか?

実は、次のようにしてみたんです。

DDR$ = "C:\ZOO\D_BackUp"
DBEngine.CompactDatabase DDR$ + "\Resurch.mdb", DDR$ + "\Resurch.mdb"

現在、Dドライブにある Resurch.mdb というファイルを C:\ZOO\D_BackUp というフォルダにまったく同じファイル名でコピーをしたいのですが。
なんか、言葉が足らなくてすいません。

お礼日時:2001/07/30 18:53

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