• ベストアンサー

mdbの最適化

mdbの最適化をVB6、またはExcelVBAで行っています。 DBEngine.CompactDatabase "最適化対象mdbのフルパス", "最適化後mdb一時ファイルのフルパス" Kill "最適化対象mdbのフルパス" Name "最適化後mdb一時ファイルのフルパス" As "最適化対象mdbのフルパス" 処理できていたのですが、パスワードつきのmdbの場合DBEngine.CompactDatabaseでエラーになります。 エラーは「パスワードが違います」です。 パスワードはどのように指定するのでしょうか? Database Password=abcの場合、 DBEngine.CompactDatabase "最適化対象mdbのフルパス", "最適化後mdb一時ファイルのフルパス","Database Password=abc"などいくつか試してみましたがダメでした。 どなたかお教えいただけませんか。

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

  • ベストアンサー
回答No.3

下記の様にしたらどうです。 DBEngine.CompactDatabase "最適化対象mdbのフルパス", "最適化後mdb一時ファイルのフルパス", , , ";pwd=abc" 最適化後mdb一時ファイルのフルパスの後に「,」を3個つけています。これで私はうまくできています。

その他の回答 (2)

noname#259269
noname#259269
回答No.2

まずGoogleにきいてみる癖をつけるとよいと思いますよ。 いくつも回答がありますね。 http://www.google.co.jp/search?hl=ja&q=CompactDatabase+%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89&lr=lang_ja

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

他mdbのデータベースパスワードを、VBAで解除・変更する方法 http://www.accessclub.jp/bbs5/0012/vba3372.html こちらの方法ではどうでしょうか。(未検証ですけど)

関連するQ&A

  • MDBパスワード設定済みDBへ接続

    MDBパスワード設定済み(排他オープンからの設定)のDBへ接続を試みているのですが、うまく 接続できません。 ご教授ください。 ASP vbscript <ソース> set objCon=ServerCreateObject("ADODB.Connection") cn1 = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "DataSource=" & Server.path("db.mdb") & ";Jet OLEDB:Database Password=password;" objCon.Open cn1 <エラー> Microsoft JET Database Engine エラー '80040e4d' パスワードが正しくありません。

  • MDBのアクセス権

    VB6で、MDBファイルを操作しています。 Set myws = DBEngine.Workspaces(0) Set mydb = myws.OpenDataBase("xxx.MDB")で MDBを開いています。 インストールがadministratorで行うとなんら問題が無いのですが、それ以外のユーザーの権限でアクセスするとエラーになります。EXEは実行しているようです。 1:そのユーザーのMyDocumentにインストール 2:ProguramFilesにそのユーザーの権限を与える。 3:他のユーザーで実行 のいずれも動作しますが、先方の要求はあくまでもインストーラでなんら操作せずとも実行できるとの事です。もしくはバッチファイルを組む。 というものです。 インストーラは、VisualStudioInstallerを用いてます。 MDBファイルさえアクセスできれば良いのですが、adminiのパスワードなども全てのマシンで異なります。 良いアイデアがあれば、教えてください。よろしくお願いいたします。

  • VBのランタイムエラーについて

    MDBファイルのバックアップの処理を毎日タスクで流すためにVBでEXEを作ったのですがエラーが発生しました。 ランタイムエラーのようですがMDBファイルの最適化の処理を追加する前は正常に動作していました。。。 エラー内容は run-time error'13' type mismatch です。 なにかランタイムをインストール必要があるのでしょうか? DBEngine.CompactDatabaseを使っているので参照設定で microsoft dao3.6 object libraryを追加してからおかしいようです。 お知恵をお貸しください>< '_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ '_/ MDBファイル最適化 _/ '_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ defrg = INIfile_read("PATH", "defrag") filename = "abc.mdb" TempFile = Left(filename, Len(filename) - 3) & "bak" 'バックアップ名を作成 DBEngine.CompactDatabase defrg & "\" & filename, defrg & "\" & TempFile '最適化 Kill defrg & "\" & filename filename = Left(TempFile, Len(TempFile) - 3) & "mdb" Name defrg & "\" & TempFile As defrg & "\" & filename

  • vb6でmdbのOpenDatabase時にエラー

    お世話になります。 PC98の環境でVB6でオフィスの入っていない環境です。 Set db1 = DBEngine.Workspaces(0).OpenDatabase(App.Path & "aaa.mdb",dbDriverComplete) を実行すると ”このプログラムは不正な処理を行ったので強制終了します。” となってしまいます。 昨日までは、エラーなく動いていたのですが原因がわかりません。 ご教授宜しくお願いします。

  • javascriptでのmdb接続について

    FC2の無料ホームページスペースを使用して 勉強用に簡単なデータベースをjavascriptで組んでいます。 ローカルでは大体動作確認がとれたので HP上に設置したところ [Microsoft][ODBC Microsoft Access Driver] ファイル名が正しくありません。 とエラーが出力されます。 database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=http://xxx.web.fc2.com/Database.mdb;"); 上記の様に絶対パスで指定しており、そのパスにファイルもあるのですが どの様な問題が考えられるでしょうか? ご教授いただければ幸いです。 よろしくお願いいたします。

  • Database.mdbと言うファイル

    議事録.accdbと言うファイルを共有フォルダに入れておいたら、 勝手にDatabase.mdbと言うファイルが同じフォルダに作られたのですが どうしてでしょうか? そもそもバージョンは2010なのになぜにmdbファイルが出来上がったのか謎です。 議事録.accdbを開いているときに 一度エラーになり、強制終了したことがありますが そのタイミングでDatabase.mdbが出来上がったのかなと思いますが そのような事があるのでしょうか?

  • mdbファイルにパスワードを設定する方法

    mdbファイルにパスワードを設定したいと思っていますが,ユーザにパスワードを知られたくないので,vb6.0又はVbScriptを利用して,mdbファイルにパスワードを設定したいのですが,その方法について教えてください。

  • MDBファイルをCSV出力したい

    こんばんは。 環境: OS:WINDOWS2000 VB6.0 sp5 アクセス2000 VBからアクセスのMDBデータをCSV形式で出力させようとしています。  mdbファイルが実行中にVBのexeを起動してcsvファイルを取得したいのですが、いい方法が分かりません。 閉じているMDBファイルのデータをCSVで出力することは可能です。  MDBファイルが開いているとexeを実行した時に「実行時エラー7866 データベースが開いています」というようなメッセージが出て処理ができません。 なにかいい方法はないでしょうか よろしくお願いいたします。

  • ファイルを削除したい

    VBでACCESSのデーターベースを使用しているとき dbname.ldb(dbname ; database名)が作られます。このファイルをVBの終了時点もしくは終了直後 までには削除したいのですがどうすればよいでしょうか。  "kill dbname.ldb" では 実行時エラー 75: パス名が無効です

  • VB2005でmdbに接続するには?

    Visual stadio2005のVB.NETでIDとパスワードを入力し、データベースに登録されているIDとパスワードと同じなら次の画面へ、違っていたらエラー表示。というプログラムを組みたいのです。 次の画面へやエラー表示と言うプログラムは自分なりに書けたのですが、accessのmdbとVB.NETとのファイルの接続方法が分からず、SQL文も必要なのでは?と思うのですが組み込み方が分からず困っています。 コネクションをしたりファイルオープンをしたりと言う、C言語のプログラムを見ましたが、良く分かりません。 ご存知の方、教えていただけませんでしょうか。 よろしくお願いします。