• ベストアンサー

アクセス2000のデータをバックアップしたいのですが

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

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

  • ベストアンサー
  • Ot2
  • ベストアンサー率100% (1/1)
回答No.4

すみません・・・ 念のための回答です。 DDR$ = "D:\元データ保存場所" DDR2$ = "C:\ZOO\D_BackUp" DBEngine.CompactDatabase DDR$ + "\Resurch.mdb", DDR2$ + "\Resurch.mdb" でできると思います。 実際このソースコードは、DBの最適化のためのコードなので、バックアップのコードもあるかとは思うのですが・・・

ariga
質問者

お礼

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

その他の回答 (3)

  • Ot2
  • ベストアンサー率100% (1/1)
回答No.3

自分も言葉足らずですみません・・・ 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)
回答No.2

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

  • Ot2
  • ベストアンサー率100% (1/1)
回答No.1

自分はVBで下記のようなコードを記述してます。 DBEngine.CompactDatabase DDR$ + "ファイル名", DDR$ + "ファイル名" ちなみにDDR$は変数名です。(保存場所のパスを指定してます。) DBEngine.CompactDatabase でアクセスのデータベースを最適化して保存します。 これを利用してます。 他にも色々な方法があると思いますので、探してみると楽しいと思いますよ!

ariga
質問者

お礼

早速のお返事ありがとうございます。 もう少し教えていただきたいのですが、DDR$ + "ファイル名", DDR$ + "ファイル名" ってどんな意味なんでしょうか? 実は、次のようにしてみたんです。 DDR$ = "C:\ZOO\D_BackUp" DBEngine.CompactDatabase DDR$ + "\Resurch.mdb", DDR$ + "\Resurch.mdb" 現在、Dドライブにある Resurch.mdb というファイルを C:\ZOO\D_BackUp というフォルダにまったく同じファイル名でコピーをしたいのですが。 なんか、言葉が足らなくてすいません。

関連するQ&A

専門家に質問してみよう