- ベストアンサー
アクセス2000のデータをバックアップしたいのですが
アクセス2000でデータ管理をしているのですが、本来のファイルが破損したことがあるので、バックアップをとりたいと考えています。 フォームにコマンドボタンを作って、そのボタンをクリックしたら指定されたフォルダへコピーするようなことは出来るのでしょうか? もし、できるとすれば、どうすればよいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
すみません・・・ 念のための回答です。 DDR$ = "D:\元データ保存場所" DDR2$ = "C:\ZOO\D_BackUp" DBEngine.CompactDatabase DDR$ + "\Resurch.mdb", DDR2$ + "\Resurch.mdb" でできると思います。 実際このソースコードは、DBの最適化のためのコードなので、バックアップのコードもあるかとは思うのですが・・・
その他の回答 (3)
- Ot2
- ベストアンサー率100% (1/1)
自分も言葉足らずですみません・・・ DBEngine.CompactDatabase DDR$ + "\Resurch.mdb", DDR$ + "\Resurch.mdb" ですが、 DBEngine.CompactDatabase でアクセスのデーターベースを最適化するコードです。 はじめの DDR$ + "\Resurch.mdb" でどのファイルを最適化(バックアップ)するのかを指定します。 次に DDR$ + "\Resurch_Buck_Up.mdb" でファイルのバックアップを作成します。 このときのDDR$の変数にはじめのものと違う場所を格納してあげるようにすると 別の場所にバックアップが作成できます。 同じ場所に同じファイル名 (DDR$ + "\Resurch.mdb")で保存するとエラー になるみたいですので、違う名前にしてあげてください。 説明足らずのところもあると思いますが、多分これでできます。
- glimlach
- ベストアンサー率36% (14/38)
マクロで「オブジェクトのコピー」を行うのはいかがでしょう。
- Ot2
- ベストアンサー率100% (1/1)
自分はVBで下記のようなコードを記述してます。 DBEngine.CompactDatabase DDR$ + "ファイル名", DDR$ + "ファイル名" ちなみにDDR$は変数名です。(保存場所のパスを指定してます。) DBEngine.CompactDatabase でアクセスのデータベースを最適化して保存します。 これを利用してます。 他にも色々な方法があると思いますので、探してみると楽しいと思いますよ!
お礼
早速のお返事ありがとうございます。 もう少し教えていただきたいのですが、DDR$ + "ファイル名", DDR$ + "ファイル名" ってどんな意味なんでしょうか? 実は、次のようにしてみたんです。 DDR$ = "C:\ZOO\D_BackUp" DBEngine.CompactDatabase DDR$ + "\Resurch.mdb", DDR$ + "\Resurch.mdb" 現在、Dドライブにある Resurch.mdb というファイルを C:\ZOO\D_BackUp というフォルダにまったく同じファイル名でコピーをしたいのですが。 なんか、言葉が足らなくてすいません。
お礼
細部にわたってお教えいただきありがとうございます。 早速、ご指示とおりやってみたところ次のようなエラーが発生してしまいました。別に意識して排他的に開いているつもりはないのですが、どうしたらいいのでしょう。 「このデータベースは、マシン '<マシン名>' のユーザー '<ユーザー名>' が排他的に開いています。データベースが使用可能になった時点で、再度実行してください。(Error 3356)」