請問如何統一六個不同資料夾之相同ACCESS資料表.

一.需求:有六個資料夾[ 01.02.03 .04.05.06].內有相同之MDB檔.當第一個資料夾的MDB修正時[我是用匯入或整批複製與貼上的方式]其他五個資料夾的MDB也會同時更新.附上==六個資料夾有共同的MDB檔=範例.rar.URL如下:http://www.funp.net/438263 二.電腦環境:OFFICE 2003 IE8 XP 三.如有未盡事宜。再行補充。謝謝! 四.如果可以的話。請將技巧傳授一下[尤其是資料夾名稱會因實際需要而變更名稱的]。謝謝!

Update:

相當好的軟體.先延五天.慢慢品味.

Update 2:

對的.我的就如同[大流士]大所說的.只是FRIEND資料表更新而已.其他的都不可以更新.因為還沒那個需求.如果未來有需求再PO題請教喔.謝謝!

Update 3:

詳如意見發表.謝謝.

Update 4:

操作問題大都解決了.發現ACCESS軟體有個特性.必須改完=儲存=退出=進入=更新...不然會有很多問題.再來要進入VB來探討.

Update 5:

抱歉.本人要出遠門.必須於7月8日上午前結案.

10 Answers

Rating
  • 10 years ago
    Favorite Answer

    要完全滿足這些要素,光用巨集是無法達成的~

    需透過程式的技巧才能做到此功能~

    2011-07-03 01:31:15 補充:

    應題目要求,稍微修改一下資料放置的結構,以符合正常且較直覺操作的邏輯.

    把新資料夾01中的資料庫拉出來當成主要執行的介面跟主要數據,並更名為同步更動.mdb 因此,更動此資料庫中的資料後按更新鈕即全面更新其他位於同目錄的資料夾中的Yahoo.mdb~ 此法可解決資料夾路徑需固定的問題,以及子資料夾可更名的問題~ 此外,不論此目錄中的資料夾增加或減少,不需修改程式,一樣可以直接更新所有資料.以上,提供參考,作法不足的部份請補充發問!!

    檔案下載位置:

    http://www.eztakeeasy.com/sent.asp?filename=Update...

    2011-07-03 18:11:15 補充:

    有朋友要求在程式碼後面加上註解,以便了解執行的原理與過程.

    今日已經將檔案更新,有興趣的朋友可再次下載.

    2011-07-04 11:46:33 補充:

    謝謝東邪大師的指教,

    果然是行家,建議精準無比.

    利用FSO來處理確實是較快較能提升效率的作法,

    會採用資料清除在全數插入的方式,是考量在其他分散的資料庫中,或許還包含其他各自不同的資料表或資料內容,若只想針對共同的資料表("friend")做處理,檔案覆蓋的方式將使原本應該保留的資料流失.

    因此,若考量到資料庫內容相異時,就須將資料表取出單獨處理.

    若資料庫內容是相同的狀況下,東協大師提供的確是叫好的處理方式.

    後學以上的描述若有缺誤,還請各位先進多多指正,謝謝!!

    2011-07-04 19:16:13 補充:

    以下網頁有關於FSO的介紹及說明,提供大家參考:

    http://msdn.microsoft.com/zh-tw/library/aa711216(v...

    http://www.ecaa.ntu.edu.tw/weifang/HtmlTutor/vbscr...

  • pop
    Lv 7
    10 years ago

    版主好:

    很抱歉.

    因所提意見未能幫上忙.所以將上述意見刪除.

    再次說句抱歉!!

  • 10 years ago

    資料庫的更新,其模式可概分為即時處理和批次處理。

    批次處理,其更新源是以某一時間點的資料為準,可自動或人工啟動。

    因此在處理的大部份歷程上,可簡化成單純的檔案複製的動作。

    目前的兩個回答,皆屬人工啟動的批次更新,唯其更新動作採用了和資料庫掛勾的方式來進行。

    同學 的資料繫結方式,簡單明瞭,對此方式提供了一個不錯的借鏡。

    大流士 的VBA處理流程,前半段的目標偵測是可取的,但後段的清除再重製,便有點捨簡就繁了。

    若此,建議可利用 FSO 來處理後段的工作,效率的提升是必然的,

    尤其當資料庫日益增長,資料越多其效率的增益越是顯著。

    一旦用了 FSO,搞不好還會興起乾脆把前段也一併處理的念頭。

  • 同學
    Lv 7
    10 years ago

    感謝大流士大大指教

    如加上VBA能滿足變更資料夾也能自動執行

    那就太棒了!

    VBA的部分小弟真的遜到不行

    就請大流士大大協助這部分功能了

    謝謝!

    2011-07-05 22:31:35 補充:

    謝謝版主美意

    小弟就刪答了

  • How do you think about the answers? You can sign in to vote the answer.
  • 看完大家的討論與實際的操作.就完全懂了.真是獲益匪淺.很棒的基本教材.要珍藏一下.

  • 致回答者:

    這題我超有興趣,測了一下有些問題請教:

    1。您說:上述是02資料夾的設定 依序設定03~06資料夾 此巨集建立在資料夾01的MDB

    2。是不是意思如下:

    這六個MDB都要相同的設定,所以我就先將第一個檔的巨集先設定好,然後將這個檔複製至其他五個檔。

    3。發現問題如下:

    [1]。不能變更資料夾位置。一定要放在規定的槽,若變更位置就得改巨集內容。

    [2]。不能隨意命名各資料夾的名稱。如"新資料夾02"改成"我愛同學大師"。動作就無法完成。

    [3]。第一檔修正。其他檔都沒跟著更新。不知問題出在哪。

    2011-07-02 15:48:43 補充:

    測了半天,好像有點懂了:

    1。先設定好第一個檔,然後將MDB複製至各資料夾。

    2。逐一修改各資料夾的PATH:

    #1資料夾[1連2.....2連3.....6就免了]

    C:\\六個資料夾有共同的MDB檔=範例=01\\新資料夾02\\Yahoo.mdb

    #2資料夾

    C:\\六個資料夾有共同的MDB檔=範例=01\\新資料夾03\\Yahoo.mdb

    #3資料夾

    2011-07-02 15:49:11 補充:

    C:\\六個資料夾有共同的MDB檔=範例=01\\新資料夾04\\Yahoo.mdb

    #4資料夾

    C:\\六個資料夾有共同的MDB檔=範例=01\\新資料夾05\\Yahoo.mdb

    #5資料夾

    C:\\六個資料夾有共同的MDB檔=範例=01\\新資料夾06\\Yahoo.mdb

    還真是有點麻煩喔!不知有沒更好的方法!

    回答者真是用心.讓我學會一招.真是謝謝.看版主他的測試狀況才準.我只是試試而已!

  • 10 years ago

    感謝1.2F與iam_1_001 ( 研究生 4 級):

    1.EXCEL檔.

    2.目前先用人工[因為單純].複製與貼上.將來再考量用按鈕的方式[題庫有].來匯入.

    3.第一個資料夾是主檔[主檔只有一個].整批複製與貼上之後.其他五個檔都持續更新[不必同步.但是希望按個鈕.全部更新].

    以上如有不詳細.請盡量提出.謝謝.

    2011-07-03 23:50:11 補充:

    真是高智慧的展現.值得大家一起來共享喔!

    2011-07-05 11:49:06 補充:

    感謝大家的幫忙.學了很多.真的值得珍藏.按我的需求.先做個簡要說明:

    [同學]大的非常基礎.值得初學者學習.是一個難得的範本.而[大流士]大的.在我的感覺.是出神入化.具相當大的彈性.有[任]我改的特性.程式碼還加註解.完全不藏私.利網友心很強.我很喜歡.建議:因為檔案PO上網期限很短.假如大流士有BLOG.建議PO上.好嗎.其他等我都感受完了與大家討論一個段落.再來提建言.

    2011-07-05 21:06:27 補充:

    我是使用者.這2個熱心人士所回答.都可以滿足我.非常感謝.只是第2位比較容易操作與維護.現在我急需的課題是:趕快了解她們的技巧.萬一我的需求有小更動時.能就很快就調整.就相當知足了.因為ACCESS真的沒用幾次.也沒有能力與興趣深入.剛好有軟體用到.而且遇到目前的瓶頸.所以就發問了.

    2011-07-05 21:06:36 補充:

    目前也解決了.使用非常方便.謝謝大家.至於比較深入的技巧.就讓您們去討論囉.等快結案就關題囉.不過我是建議[同學]大.假如不在乎採用率[影響未來層級很深喔.所以我清楚.我不會一下就關題的.這是YAHOO的不圓滿之處...].就將此題回答留下.否則請移駕到我的另一題[同意時再PO題].類似這題的.但是屬比較基礎的.這樣是否比較圓滿.OK!如有處置不當.請大家見諒!

    2011-07-05 23:33:20 補充:

    請問[大流士]大:

    問題請教:

    [1]. friend01 至 09 是電腦自動產生的嘛.假如我增至20.他也會自動變動ㄛ!

    [2].FRIEND格式我想改一下.但是都不讓我改.

    Sn==數字[有我自己的編號].

    帳號.網名都不要排序.

    額度都用1顯示[但1至15間不要動喔].

    [3].請不要幫我改.請教我怎麼改.尤其是[表單]與[資料表]間的互動.謝囉!

    2011-07-05 23:39:21 補充:

    感謝[同學]大.升官囉.恭喜ㄛ.大師吉祥.不過屬基礎的題目我還是要PO題[會說明是本題的延續].讓大家一起來學ACCESS.謝囉!PO好再通知大師幫忙囉!

    感謝POP大師體諒.謝謝.讓我有時間來把我的需求弄清楚.謝囉!

    本園地一片祥和.大家都是有風度的VB專家.感謝!

    2011-07-06 00:07:20 補充:

    新題已PO好.恭請[同學]大師.幫忙解答一下.謝謝!

    http://tw.knowledge.yahoo.com/question/question?qi...

    2011-07-06 11:56:45 補充:

    FOR 大流士大:

    早上檔案可以改了.怪哉.可能要重開機吧.最近OFFICE 2003 有點不正常.改天抽空重灌.請問:

    1.在同步更動內.

    2.表單內的預設值與相關值.似乎無法跟著資料表FRIEND在變化.必須用人工來更改.請問是嗎!

    3.但表單的預設值與相關值.如何看呢.因為開啟設計檢視.只看到表格.所以不會改!

    2011-07-06 11:56:52 補充:

    4.開了[表單]就不能開啟[資料表].要改資料表.必須單獨開啟.是喔!

    5.本部份的資料夾改完.必須去改其他的資料夾.改了一個之後.再複製MDB至個資料夾.才可完成整個系統.對喔!

    所以這題感覺是很不錯的 ACCESS ..N個資料夾的相互關連之範本.以上第3項比較急喔.請先幫忙.謝囉!

    2011-07-06 15:17:11 補充:

    操作問題大都解決了.發現ACCESS軟體有個特性.必須改完=儲存=退出=進入=更新...不然會有很多問題.再來要進入VB來探討.......

    2011-07-06 18:52:33 補充:

    [大流士]大似乎很忙.我的問題都無暇幫我解決[是操作問題.不是程式問題].只好土法煉鋼.不斷的測來測去.也算可以了.跟樓上的問題不一樣....星期五一早要出遠門.之前必須結案.不然來不及了.歡迎大家去[基礎=URL如下]繼續討論.我先延他五天[本題已延過了].

    http://tw.knowledge.yahoo.com/question/question?qi...

  • 10 years ago

    版大好:

    1)匯入或整批複製與貼上

    =>請問匯入的資料來源是_相同的.MDB檔或是EXL檔..

    2)匯入或整批複製與貼上

    =>現使用程式執行還是使用工具列的匯入方式.

    3)六個資料夾_一個資料夾的檔案更新_其他全都同步更新

    =>設定先讀取含有.MDB檔的資料夾

    電腦若只設定六個(含.MDB)的資料夾_而且每個資夾只存放一個相同.MDB檔.

    直接執行.

    若是超過6個資料夾_或是該資料夾含有2個以上的.MDB檔

    則設定先讀取含有.MDB檔的資料夾_然後點選_在執行你要的設定.

    2011-07-04 18:12:50 補充:

    東邪大大與大流士大大好:

    二位大大既然已經提到FSO_

    請二位大大能簡略的舉例說明FSO的方式_讓更多網友受惠.

    2011-07-06 18:33:51 補充:

    各位大大好:

    大流士大大熱忱幫網友處理問題_讚!!

    有關大流士大大的設定模式_是使用已經套好的目錄資料夾.

    應該可以更簡化_

    下列提一個意見__

    1)若是_該資料夾_放置一個_D:\\測試\\YAHOO.MDB的資料夾檔案.

    而該檔案_並未設定FRIEND資料表.執行時將產生錯誤.

    2)若是強制規定_該碟_只能存放_D:\\名稱...\\YAHOO.MDB的資料夾檔案.

    而且該檔案_必須有_名稱是_FRIEND_的資料表.

    那整個架構_未免太制式化.整個_D碟就給設定死了

    以上_

    PS_同學大大_提供的作法_屬嚴謹.

  • 10 years ago

    1F說的很好。現在等等看有沒ACCESS 2003的高手來指點。題出的真是好。讚!

  • 10 years ago

    ㄟ,

    同步更正喔!

    那涉及到分散式處理資料庫問題;

    相信不是三言兩語可以完成的。

    .

    倒是,如果採用

    集中一個資料庫,讓多資料庫連結到這一個資料庫進行存取資料的概念,

    應該是比較可行的方案;

    雖然access 2003會出現鎖定現象,

    但是應該還是比原本的想法要容易實現。

    .

    若是採用 2007以上版本,則可更容易達成。

Still have questions? Get your answers by asking now.