提高拆分數據庫在網上運行、編輯的速度

字號:

數據庫拆分的優(yōu)點和必要性想必各位都明白,一旦把后端庫放到了局域網上(無論對等網、局域網),前端運行速度將大為減緩,特別是在前端修改查詢、窗體更為緩慢,這種情況在論壇中經常提及,但始終不能找到滿意的答案。
    前段時間,無意中發(fā)現了網友發(fā)布的相關帖子,原文如下:
    問:我的單位已連局域網,有一臺SERVER2000服務器,有四臺WIN98工作站。共同使用access調用服務器上的庫文件 SERVER.MDB。
    現在的解決方法是在服務器上建一共享目錄存共享庫文件SERVER.MDB
    工作站上用鏈接表對此相連,但是總覺得兩人以上運行時速度太慢。
    請問是不是有更好的方法?
    答:其實不慢,只是需要技巧
    Dim cn As Connection
    Dim rs As New ADODB.Recordset
    Dim sql As String
    Set cn = CurrentProject.Connection
    sql = "select * from 1"
    rs.Open sql, cn, 3, 3, 1
    你的軟件有個主控面板,一打開軟件它就打開,關閉軟件它才關閉。在后臺數據庫文件里建一個只有一個字段的空表,名為1(其它名也可以),然后把上面的代碼放在主控面板的OPEN事件里。
    這里面用到的小技巧就是:打開了一個空表,但沒關閉它,這樣后臺數據庫就一直在打開狀態(tài)(你可以看到后臺數據庫會生成一個LDB文件),你要操作其它表的時候就不用頻繁地打開、關閉后臺數據庫,這樣程序運行起來可以提升級幾倍的速度,試試看吧。
    其中談到,在前端數據庫中打開一個鏈接自后端的表,讓起一直開著,“這樣程序運行起來可以提升級幾倍的速度”,講的的確有道理,但是,我看不懂代碼的意思,照本宣科也不行,只得束之高閣.....遺憾?。?BR>    前幾天下載了一個后端監(jiān)測軟件,可以看到有誰正在使用后端文件,雖然用處不大,但卻帶來意外收獲,運行監(jiān)測軟件后,在前端編輯和修改查詢、窗體時,速度大為提高,為什么呢?幾經分析和實踐,終于找到一種簡便的方法來達到提高運行速度的目的??!不敢獨享,在此提供給各位需要的朋友,以解燃眉之急。
    1、在后端創(chuàng)建一個只有一個字段的表。不要輸入任何數據。
    2、鏈接到前端數據庫中。
    3、在前端中建立該表的窗體,任何形式都行,越簡單越好。
    4、編寫以隱藏方式打開該窗體的代碼或宏命令。
    5、在切換面板的打開事件中運行打開命令,這樣每當數據庫打開,自然就會打開該窗體,直到關閉數據庫為止。
    這樣一來就達到了“不用頻繁地打開、關閉后臺數據庫”的目的,速度自然提高許多。
    上面提到的代碼,想來肯定有用,為什么沒有效果呢?如用代碼以隱藏的方式直接打開表,豈不更好,還可以省掉一個窗體,還望VBA高手解答。