那些對Access數(shù)據(jù)庫無經(jīng)驗的開發(fā)人員,他們常常不知道改變復(fù)制為對象設(shè)計,而不是數(shù)據(jù)表,那樣會引起一些問題。這是令人失望的,首先, 因為復(fù)制似乎是分布完整的Access應(yīng)用程序的最好途徑,畢竟,Microsoft是支持它的。
問題是,Jet的復(fù)制是設(shè)計有數(shù)據(jù)表的。這是因為Jet復(fù)制主要是用于Visual Basic應(yīng)用程序的,在那里,只有數(shù)據(jù)可以被存儲在*.mdb文件里。這是它被測試最多的地方。對于Access 97來說,它總是被理解為,一個優(yōu)秀的開發(fā)人員在將其轉(zhuǎn)換成副本之前總是要拆分數(shù)據(jù)庫,這樣,只有表才能使被復(fù)制。關(guān)于拆分Access 數(shù)據(jù)庫的概念,請參閱“在Microsoft Access 97中創(chuàng)建應(yīng)用程序”的 第15章,第3節(jié), 這些文檔在Access 97光盤中都有。
復(fù)制之前沒有拆分數(shù)據(jù)庫,你會發(fā)現(xiàn)你的副本的大小會“膨脹”。這是因為,你做的每一個到格式或模塊的改變,如,被放在隱藏表中,這樣就變成了需要被復(fù)制的信息。想象一下,你努力30次正確地去做某個模塊的代碼工作。這些改變(除最后一個不必要外)都被發(fā)送到所有的副本,開發(fā)人員在復(fù)制前不能拆分就會碰到一個惱人的問題:復(fù)制工作正確進行一會兒后(也許甚至幾個月),模塊會突然不能工作,或表單不能打開。
所以,你怎么能拆分已經(jīng)被復(fù)制的數(shù)據(jù)庫?我在這兒建議你根據(jù)以下的步驟去做。
不要使用拆分數(shù)據(jù)庫向?qū)А_@是因為,它正好用了錯誤的方式來拆分數(shù)據(jù)庫,這樣,你的數(shù)據(jù)表就不能再復(fù)制了---它把表移到新的文件中去了,并把對象的剩余部分放到了副本里,而我們要做的,是要把數(shù)據(jù)表放在副本里,并把其他的對象移到新的未復(fù)制的數(shù)據(jù)庫文件中。那樣的話,后端的剩余部分是可以復(fù)制的,作為當前副本設(shè)置的一部分,前端現(xiàn)在則是獨立數(shù)據(jù)庫,只能被拷貝到每一個應(yīng)用程序用戶。
要確保你的副本都要同步,你就要知道,萬一你損壞了設(shè)計主,而你已經(jīng)更新了數(shù)據(jù)。
創(chuàng)建新的Access數(shù)據(jù)庫文件,該文件會在前端。根據(jù)Microsoft例子,你可以添加"_fe"到初始數(shù)據(jù)庫名,雖然它確實對你要調(diào)用的并無關(guān)緊要。
把這個新的文件打開,從設(shè)計主輸入所有的查詢,表單,報表,宏以及模塊。如果你把開關(guān)板置于適當?shù)哪憧梢允褂瞄_關(guān)管理器控制的位置,那么,你也需要輸入開關(guān)板項目表。
如果你已執(zhí)行了數(shù)據(jù)庫安全,那么,你會丟失在第4和第5步驟中輸入或連接的所有對象中的容許設(shè)置。所以,打開設(shè)計主,將這些容許設(shè)置拷貝到新的文件(即,前端)。
現(xiàn)在,你需要添加代碼到前端,該前端更新了連接到用戶的本地副本。在開發(fā)人員解決方案數(shù)據(jù)庫中,你會發(fā)現(xiàn)做這些工作的幫助。它隨Access 97作為樣本數(shù)據(jù)庫出現(xiàn)。從“使用多數(shù)據(jù)庫”分類中選擇“啟動連接表”。
分布前端到你的所有用戶。記住,該文件不應(yīng)再被復(fù)制。你只須為需要的人拷貝即可。叫你的用戶切換到使用前端。當你確定他們現(xiàn)在在使用前端時,你就可以繼續(xù)下去,把設(shè)計主轉(zhuǎn)換成后端(下兩個步驟),便于他們同步下次時間,他們的副本也將變成后端。 ( 素材 )
打開設(shè)計主,刪除你在第4步驟中輸入的所有對象。
兩次緊致設(shè)計主,然后使其與你的其他副本同步。
注意:如果你想繼續(xù)Microsoft在其拆分數(shù)據(jù)庫向?qū)е惺褂玫臏蚀_的命名約定,那么,你就不得不通過添加"_be"到其文件名來重新命名你的后端副本。最安全的辦法是在復(fù)制管理器里,用移動副本命令來做。
更多信息請查看IT技術(shù)專欄