程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> Access 2007 功能區運用祥細講解下

Access 2007 功能區運用祥細講解下

編輯:關於Access數據庫

這樣就能使用智能提示功能,快速地編寫功能區XML

  二.編寫回調函數

回調函數的目的是完成功能區上控件所執行的功能。在上一篇文章中的 XML 內容中,第一行:

  <customUIXMLns="http://schemas.microsoft.com/Office/2006/01/customui"onLoad="onLoadRibbon">

  onLoad 屬性值為 onLoadRibbon,即表示在加載功能區時調用 onLoadRibbon 函數,這個函數要用 VBA 來進行書寫。

  一、建立 Access 應用程序

  新建一個數據庫,命名為功能區.accdb,導入 Northwind2007.accdb 數據庫中所有對象(示例中要用一些對象)

按 Alt+F11 鍵進入 VBE。為了使用功能區對象,首先必須引用 Microsoft Office 12.0 Object Library。

  二、建立模塊

  為了統一管理,將所有回調函數放在同一個模塊中,在 VBE 中新建一個模塊,命名為 basRibbonCallbacks。為了以後能方便地使用自定義的功能區對象,定義一個全局對象變量 gobjRibbon,並 onLoad 指定的回調函數 onLoadRibbon 中進行賦值。

OptionCompareDatabase
OptionExplicit
'------------------------------
本模塊包含Ribbon回調子程序'------------------------------
  
PublicgobjRibbonAsIRibbonUI
  
'自定義Ribbon加載時事件處理PublicSubonLoadRibbon(RibbonAsIRibbonUI)  '將自定義Ribbon對象設置為全局對象    SetgobjRibbon=RibbonEndSub

實現功能區中的“打開羅斯文商貿”控件的onOpenFormEdit 回調函數,通過功能區中的 Tag 屬性實現傳遞要打開的窗體名,在本例中,<button id="cmdHome" label="打開羅斯文商貿" imageMso="MeetingsWorkspace" size="large" onAction="onOpenFormEdit" tag="Home"/>,cmdHome 按鈕控件的 Tag 屬性為“Home”,指定要打開的窗體為“Home”。

'通過Ribbon中的Tag屬性實現傳遞要打開的窗體PublicSubonOpenFormEdit(controlAsIRibbonControl)  '以編輯方式打開窗體  DoCmd.OpenFormcontrol.Tag,,,,acFormEditEndSub

  實現功能區中的“關閉數據庫”的onCloseDatabase 回調函數。

  PublicSubonCloseDatabase(controlAsIRibbonControl)  DoCmd.CloseDatabaseEndSub

  創建功能區系統數據表

  講述了如何創建功能區XML,那麼這個 XML 如何使用呢?

  對於 Access 2007 來說,要將這個 XML 的內容存儲在一個名為 USysRibbons 的系統表中,才能使用。

  一、創建 USysRibbons 表
在上一講中,建立了Ribbon.accdb 數據庫,打開這個數據庫,在系統的功能面板上選擇[插入]面板,在[表和列表]上點擊[表]按鈕,創建新表。

  新加兩個字段:RibbonName 和功能區XML,其中,RibbonName 為“文本”類型,RibbonXML 為“備注”類型,將其保存為 USysRibbons:

  二、設置 Access 選項

  由於這個以 USys 開頭的系統表,在默認設置的情況下,在導航面板中是看不到的,因此,要設置 Access 的選項才能將其顯示在導航面板中。點擊 Access 的文件菜單按鈕,即 Access 左上角的圖標,再點擊[Access 選項]按鈕:

  選擇左側的[啟動],然後在右側點擊[Navigation Options...]按鈕:

  在“導航選項”對話框中,勾選“顯示系統對象”:

  三、輸入 XML

  從[導航面板]打開 USysRibbons 表,插入一條新記錄,在功能區Name 中輸入“Main”,在功能區XML 字段中輸入第一講編寫的 XML 的內容:

  這樣,就將 XML 保存到了 USysRibbons 表中。在一個應用程序中可以設計多個功能區,每個功能區對應一條記錄。它們可以應用在應用啟動時、關聯窗體和報表。

  四.應用自定義的功能區

  在 Access 2007 中文版中,其 ID 對應於 USysRibbons 表中的功能區Name,它在這個表中是唯一不可重復的。

  一、設置為啟動應用程序時加載自定義的功能區

  在 Access 的選項設置中,設置其工具欄選項的自定義功能區ID,即可在應用程序啟動時加載自定義的功能區。

  點擊 Access 文件按鈕-[Access 選項]-[啟動],在右側的工具欄選項下的[自定義功能區ID]的下拉列表中選擇“Main”:

  二、設置關聯窗體或報表的自定義功能區

  每個窗體和報表均可以有自己的功能區。在窗體和報表的設計狀態,設置窗體或報表的“自定義功能區ID”,即可。

  這個窗體運行時,就會打開屬於自己的功能區,如下圖。

  關於 Access 自定義功能區的開發和使用已全部講完

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved