2014-02-21 25 views
2

我一直在研究一個數據庫,並希望使用純粹的VBA代碼。然而,一位朋友告訴我,它對我使用宏更安全,因爲數據庫將在本地網絡上使用。我不是在使用宏的非常經文,但如果它的數據庫更好的方式,然後讓我知道利弊。如果我決定稍後將數據庫遷移到SQL將會出現問題。我所做的第一個數據庫與舊版本的訪問產生了錯誤,這使得我對VBA產生了興趣。我知道這個問題聽起來很複雜,但我基本上想要一些關於VBA vs Macros訪問權限的優缺點的指導。MS Access中VBA代碼與宏的優缺點有什麼區別?

回答

2

宏具有一些消除代碼需求的內置功能,並且可以使用宏更快地構建功能。例如,如果我想打開一個數據庫並運行10個創建表格查詢,那麼只需點擊幾下鼠標,我就可以創建一個宏來執行此操作。我可以在VBA上做同樣的事情,但需要更長的時間並需要更好的VBA工作知識。我不知道一個宏可以執行的單個操作,VBA代碼不能。

6
  • 宏被認爲更容易學習。
  • 在大多數情況下,創建宏可能比編寫VBA代碼快。
  • 宏可用於發佈在 Sharepoint Server上的Access Web Apps。 VBA不能。
  • VBA比 宏更強大,更靈活。您可以進行API調用,讀取和寫入文本文件,使用ADO訪問其他數據庫或數據存儲,通過 記錄運行DAO循環,以及編寫許多其他複雜功能。
  • 至於安全性,我認爲一個人比另一個人更安全。使用ADO和傳遞查詢是構建Access數據庫應用程序的更安全方法之一,因爲您不需要使用鏈接表並且可以使用存儲過程(如果使用SQL Server)。你將無法使用宏來做到這一點。

在我工作過的大多數更專業的Access應用程序(而不是web應用程序)中,我們只使用了一個宏,它被命名爲AutoExec。當您創建一個宏並將其命名爲AutoExec時,它將首先運行(甚至在您設置爲主表單之前)。這個宏通常用於隱藏UI元素,建立連接字符串,鏈接表和彈出登錄表單等,其中大部分可能必須通過調用宏中的VBA函數完成。

+0

關於唯一我可以添加到這個好帖子的是,宏也是新表觸發器的編碼語言以及Access 2010及更高版本中可用的存儲過程。 –

1

您從VBA獲得更多功能,包括創建邏輯登錄結構&。你也可以用密碼鎖定你的VBA項目,這樣你的源代碼也看不見了......