<output id="os3gq"><ruby id="os3gq"></ruby></output>

    1. <mark id="os3gq"></mark>
    2. Access微課連載
      網站公告
      ·Access快速平臺QQ群號:84825014    ·Access快速開發平臺下載地址及教程    ·歡迎添加微信交流賬號:AccessoftChu    ·如何快速搜索本站文章|示例|資料    
      您的位置: 首頁 > 技術文章 > Access數據庫-模塊/函數/VBA

      我應該使用宏還是應該使用 VBA 代碼?

      時 間:2016-05-25 10:47:10
      作 者:芒果王   ID:47192  城市:成都
      摘 要:我應該使用宏還是應該使用 VBA 代碼?
      正 文:

      要決定是使用宏或 VBA 還是同時使用這兩者,主要取決于您計劃部署或分發數據庫的方式。例如,如果數據庫存儲在您的計算機上,您是唯一的用戶,而且您使用 VBA 代碼比較得心應手,那么您可能會決定使用 VBA 執行大部分編程任務。但是,如果您打算將數據庫置于文件服務器上以便與其他人共享該數據庫,那么出于安全方面的考慮,您可能會避免使用 VBA。如果您打算將數據庫作為 Access Web Applications 發布,則必須使用宏(而不是 VBA)執行編程任務,因為 VBA  Web 發布功能不兼容。

      Access Web Applications Access Web Applications  Access 2010 的一項新功能,利用此功能,可以將應用程序發布到運行 Access Services  Microsoft SharePoint 服務器上。這樣其他人就可以通過標準 Internet 瀏覽器使用您的數據庫,而無需在他們的計算機上安裝 Access。但是,由于 VBA 代碼與 Web 發布功能不兼容,如果您計劃將應用程序作為 Access Web Applications 發布,則只能使用宏執行編程任務。

      設計新的 Access Web Applications 時,應在首次啟動 Access 時首先單擊“空白 Web 數據庫”。這樣可以限制能夠用于創建數據庫的功能,幫助確保 Web 應用程序成功發布。

      客戶端應用程序 如果您不打算將應用程序發布到 Access Services 服務器上,則應根據兩個因素來決定使用宏還是使用 VBA 代碼:安全性和所需的功能。之所以要考慮安全性,是因為 VBA 可用于創建危害數據安全或損壞計算機上的文件的代碼。如果您使用的數據庫是由其他人創建的,那么僅當您知道該數據庫的來源可靠時才應該啟用 VBA 代碼。如果您創建的數據庫將被其他人使用,那么您應該盡量避免包括需要用戶特別準許數據庫為可信狀態的編程工具。避免需要用戶信任您的數據庫的一般技術將在本節后面的內容中講述。

      為了幫助確保數據庫的安全,應該在可能的情況下盡量使用宏,而只使用 VBA 編程來完成使用宏操作無法完成的操作。此外,您應該盡量只使用不需要準許數據庫為可信狀態就可以運行的宏操作。以這樣的方式限制宏操作的使用使用戶可以確信,數據庫中不包含任何可能會損壞其計算機上的數據或其他文件的編程。

      宏注意事項

      Access 2010 包含許多新的宏操作,與 Access 的早期版本相比,使用這些新的宏操作可以生成功能更加強大的宏。例如,您現在可以通過使用宏操作來創建和使用全局臨時變量,并且可以通過使用新的錯誤處理宏操作更恰當地處理錯誤。在 Access 的早期版本中,這些類型的功能只有使用 VBA 時才可用。此外,您可以直接將宏嵌入到對象或控件的事件屬性中。嵌入的宏將變成該對象或控件的一部分,并隨該對象或控件一起被移動或復制。

      宏提供了處理許多編程任務的簡單方法,例如打開和關閉窗體以及運行報表。您可以輕松快捷地綁定您創建的數據庫對象(表單、報表等),因為您幾乎不需要記住任何語法。每個操作的參數都顯示在宏生成器中。

      除了宏提供的增強的安全性和易用性之外,您必須使用宏來執行以下任務:

      *     將一個操作或一組操作分配給某個鍵。這需要創建一個名為 AutoKeys 的宏組。

      *     在數據庫首次打開時執行一個操作或一系列操作。這需要創建一個名為 AutoExec 的宏。

      注釋 AutoExec 宏在任何其他宏或 VBA 代碼運行之前運行,即使您在“Access 選項”對話框中指定了啟動窗體并將宏或 VBA 代碼附加到了該窗體的 OnOpen OnLoad 事件中也是如此。

      VBA 注意事項

      如果您要執行下列任一操作,那么應該使用 VBA 編程而不是宏:

      *     使用內置函數或創建自己的函數 Access 中包括許多內置函數,例如 IPmt 函數,它可以計算應付利息。您可以使用這些內置函數執行計算,而無須創建復雜的表達式。通過使用 VBA 代碼,您還可以創建自己的函數來執行超出表達式能力的計算或者替代復雜的表達式。此外,您還可以在表達式中使用自己創建的函數向多個對象應用公共操作。

      *     創建或操縱對象 在大多數情況下,您會發現在對象的“設計”視圖中創建和修改對象最容易。不過,在某些情況下,您可能想在代碼中操縱對象的定義。通過使用 VBA,除了可以操縱數據庫本身以外,您還可以操縱數據庫中的所有對象。

      *     執行系統級操作 您可以在宏內執行 RunApp 操作,以便在 Access 中運行另一個程序(如 Microsoft Excel),但您無法使用宏在 Access 外部執行更多其他操作。通過使用 VBA,您可以檢查某個文件是否存在于計算機上,使用自動化或動態數據交換 (DDE) 與其他基于 Microsoft Windows 的程序(如 Excel)通信,還可以調用Windows 動態鏈接庫 (DLL) 中的函數。

      *     一次一條地操縱記錄 您可以使用 VBA 來逐條處理記錄集,一次一條記錄,并對每條記錄執行操作。相反,宏將同時處理整個記錄集。



      Access軟件網官方交流QQ群 (群號:198348076)       access源碼網店

      最新評論 查看更多評論(0)

      發表評論您的評論將提升作者分享的動力!快來評論一下吧!

      用戶名:
      密 碼:
      內 容:
       

      常見問答

      技術分類

      相關資源

      最新帖子

      關于我們 | 服務條款 | 在線投稿 | 友情鏈接 | 網站統計 | 網站幫助