JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » .Net Framework » .net 家族语言: C#, VB.net F#等  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 動態修改 MS Access 的「連結資料表」路徑
CMHuang

妳喜歡我的大象嗎?(羞)

版主

發文: 81
積分: 4
於 2008-03-27 23:03 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
這麼冷門的功能,不知道誰會跟我一樣有需要。 Big Smile

簡單的說,開發桌上型應用程式用 MS Access 來當 DB 是滿方便的選擇。
(.NET 內建 OLEDB,而且 MS Access 有很好的管理 UI)

不過當我們的 table 散佈在不同的 *.mdb 檔案中,
又必須可以讓這些 table 能夠 join 在一起。
MS Access 的唯一方法,好像就只有使用「連結資料表」。
而 MS Access 的「連結資料表」設定必須為絕對路徑。

但是,如果你正好在設計一個 Portable 的程式怎麼辦呢?
這樣「連結資料表」的路徑就必須動態決定了。

這裡我們可以使用 DAO COM 來做動態修改「連結資料表」路徑的功能。
請在 COM 分頁 -> Microsoft DAO 3.6 Object Library 加入專案參考。

1
2
3
4
5
6
dao.DBEngine dao = new dao.DBEngine();
dao.Database db = dao.OpenDatabase("路徑\有連結資料表的資料庫.mdb", true, false, ";pwd=密碼");
dao.TableDef dt = db.TableDefs["連結資料表名稱"];
dt.Connect = @"MS Access;PWD=密碼;DATABASE=被連結資料庫的新路徑.mdb";
dt.RefreshLink();
db.Close();


這樣就可以動態修改「連結資料表」路徑了。
這裡要注意:
1. 如果「被連結的資料庫.mdb」檔案不存在,會有 Exception 唷!
2. 如果大量修改,執行上會不少時間唷。請好好善用吧!


CMHuang edited on 2008-03-27 23:14
reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
3644 動態修改 MS Access 的「連結資料表」路徑 CMHuang 767 2008-03-27 23:03
» JWorld@TW »  .Net Framework » .net 家族语言: C#, VB.net F#等

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8