Accessのパスワードを修正
http://topic.csdn.net/t/20050121/19/3744752.html
Visual C# .NET を使用して Microsoft Access データベースを最適化する方法
http://support.microsoft.com/kb/306538/ja
try { JRO.JetEngine jro = new JRO.JetEngine(); string OldDb = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + accessPath_ + "ZxrOffice.mdb;Jet OLEDB:Database Password=123456"; string NewDb = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + accessPath_ + "newZxrOffice.mdb;Jet OLEDB:Database Password=tthtth"; jro.CompactDatabase(OldDb, NewDb); Console.WriteLine("Finished Compacting Database"); } catch (Exception ex) { MessageBox.Show("The following error occurred: " + ex.Message); }
Access に外部データの指定に相対パスの利用はできない。必ず本番環境と同じ用に、構成しなければ、ならない。
#利用しないほうがいいでしょうね
Microsoft Access 英語のサイトの情報によって、VBAで外部ファイルへのリックを相対パスで書けるようです
http://en.wikipedia.org/wiki/Microsoft_Access
下記は参考サイト:
http://vba.officehp.com/article/98176821.html
http://bytes.com/topic/access/answers/496621-make-linked-table-have-relative-path
Access のマクロ機能で外部リンクを追加する動作を記録して、様子をみようか
Microsoft Access VBA集
http://nydela.sakura.ne.jp/vb/vb_2.htm#vb_1
外部データベースのフルパス記述
外部データベースのテーブルを参照したり、外部データベースのテーブルにレコードを追加したりする場合の方法は二つあって、リンクする FROM ... IN でデータベース名を指定するわけですが、リンクするのはともかくとしてこれまで IN 句で外部データベースを指定したことがありませんでした。
まあ、要するに参照したい外部データベースと参照するデータベースのテーブル名が同じ(でもレコード数はちがう)というわけで、今回初めて IN 句を使ってみたわけですが半日はまりましたので解法を記述しておきます。
Dim SQL As String SQL = "SELECT company.c_lng_index, company.c_str_namae " & _ "FROM company IN 'd:\access\shows\sj2004\sales_t.mdb' " & _ "ORDER BY company.c_str_kana;"
みたいな。
参照されるデータベースと参照するデータベースが同じディレクトリにあればパス指定は省略できます。この場合、引用符はなくても通る場合があるみたいです。 問題は、コロン (:) とか、バックスラッシュ (\) らしいです。これらの文字列を含むと、引用符でくくらない限り実行時エラーを引き起こします。 このトピックは、ずいぶん Google で捜したのですがとうとう見つからず、自力で試行錯誤をくり返した結果、やっと解決できましたのでもしかしたら役に立つかもしれません。
SELECT t2.id as id , t2.categoryname as categoryname, t1.id as parentid, t1.categoryname as parent FROM categorytable as t1 inner join categorytable as t2 on t1.id = t2.parentid";
yVoC[UNLIMITȂ1~] ECirŃ|C Yahoo yV LINEf[^[Ōz500~`I