直播中
2001 年 4 月
適用于:
Microsoft® Access 2002
摘要:介紹如何使用事件來擴(kuò)展 Microsoft Access 2002 中 PivotTable 視圖和 PivotChart 視圖的功能。
目錄
簡介
事件可用的位置
數(shù)據(jù)源事件
顯示事件
更改事件
命令事件
鍵盤和鼠標(biāo)事件
總結(jié)
簡介
通過 Microsoft® Office Web 組件,Microsoft Access 開發(fā)人員可以將 PivotTable® 和 PivotChart® 視圖包括在其應(yīng)用程序中。在 Access 2002 中,已將多個新事件添加到 Access 10.0 對象庫,使開發(fā)人員能夠加強(qiáng)對 PivotTable 和 PivotChart 視圖的控制。本文簡要介紹了這些新事件以及如何使用它們。
有關(guān)這些事件的語法和代碼示例,請參見“Access Visual Basic® 幫助”。
事件可用的位置
并非所有事件都可用在 PivotTable 和 PivotChart 視圖中。下表概述了各種事件可用的位置。
事件 可用于 PivotTable 視圖中 可用于 PivotChart 視圖中
OnConnect、OnDisconnect 是 否
BeforeQuery, Query 是 否
AfterLayout、BeforeRender、AfterRender、AfterFinalRender 否 是
DataChange 是 否
DataSetChange 否 是
PivotTableChange 是 否
SelectionChange、ViewChange 是 是
CommandEnabled、CommandChecked、CommandBeforeExecute、CommandExecute 是 是
KeyDown、KeyPress、KeyUp、MouseDown、MouseMove、MouseUp、MouseWheel*、Click、DblClick 是 是
* 在鍵盤和鼠標(biāo)事件中,只有 MouseWheel 事件對于 Access 2002 是全新事件。
數(shù)據(jù)源事件
OnConnect、OnDisconnect
OnConnect 事件發(fā)生在 PivotTable 視圖與其數(shù)據(jù)源建立連接后,而 OnDisconnect 事件發(fā)生在 PivotTable 視圖與其數(shù)據(jù)源斷開連接后。通常假定,在 PivotTable 會話期間,連接保持存在。然而,如果數(shù)據(jù)源的連接丟失,應(yīng)用程序可以使用 OnDisconnect 事件來警告用戶。
BeforeQuery、Query
BeforeQuery 事件和 Query 事件分別發(fā)生在 PivotTable 視圖將查詢發(fā)送到其數(shù)據(jù)源之前和之后。 使用這些事件,應(yīng)用程序可以通知用戶查詢正在進(jìn)行中,即顯示消息或?qū)⒅羔樃臑樯陈┬巍?/P>
顯示事件
AfterLayout
AfterLayout 事件將在 PivotChart 視圖的整個布局已計算完畢,但尚未在屏幕上繪制出任何元素的情況下發(fā)生。通過捕獲該事件,應(yīng)用程序可以在繪制任何圖表元素之前,使用 drawObject 參數(shù)所返回的 ChChartDraw 對象在空的圖表畫布上繪制形狀或生成文本。
BeforeRender、AfterRender
BeforeRender 和 AfterRender 事件分別發(fā)生在每個 PivotChart 視圖的元素繪制到屏幕之前和之后。通過捕獲這些事件,應(yīng)用程序可以在繪制特定元素前后,使用 drawObject 參數(shù)所返回的 ChChartDraw 對象在圖表上繪制形狀或生成文本。另外,在繪制元素前,應(yīng)用程序還可以使用 chartObject 參數(shù)所返回的對象來更改該元素的位置或其他屬性。
AfterFinalRender
AfterFinalRender 事件發(fā)生在所有 PivotTable 視圖的元素繪制到屏幕上之后。通過捕獲該事件,應(yīng)用程序可以在繪制了所有圖表元素之后,使用 drawObject 參數(shù)所返回的 ChChartDraw 對象在圖表畫布的頂層繪制形狀或生成文本。
更改事件
DataChange
在更改了 PivotTable 視圖的某些屬性或從 PivotTable 視圖調(diào)用了某些方法后,將發(fā)生 DataChange 事件。有很多種環(huán)境都可以觸發(fā)此事件。通過計算 Reason 參數(shù),應(yīng)用程序可以確定進(jìn)行了何種更改并采取相應(yīng)措施。
DataSetChange
DataSetChange 事件發(fā)生在 PivotChart 視圖的數(shù)據(jù)集發(fā)生更改后。這表示或者由于查詢發(fā)送到數(shù)據(jù)源而導(dǎo)致基本數(shù)據(jù)確實有所更改,或者是當(dāng)前 PivotChart 視圖中顯示的數(shù)據(jù)發(fā)生了結(jié)構(gòu)性更改(例如添加了一個序列)。因為該事件不提供有關(guān)數(shù)據(jù)集更改原因的具體信息,所以建議使用其他事件(如上述顯示事件)來捕獲 PivotChart 視圖的具體更改。
PivotTableChange
在向 PivotTable 視圖添加或從中刪除了字段、字段集或總計后,將發(fā)生 PivotTableChange 事件;Reason 參數(shù)會指示發(fā)生了上述哪一種更改。捕獲此事件可以向開發(fā)人員提供反饋信息,顯示用戶如何對其應(yīng)用程序中 PivotTable 視圖進(jìn)行操作。
SelectionChange
一旦當(dāng)前選擇內(nèi)容在 PivotTable 或 PivotChart 視圖中發(fā)生了更改,就發(fā)生 SelectionChange 事件。接著,應(yīng)用程序就可以測試當(dāng)前選擇了何種對象并據(jù)此更改用戶界面(例如基于當(dāng)前選擇自定義一系列可用的命令)。
ViewChange
一旦視圖在 PivotTable 或 PivotChart 視圖中發(fā)生了更改,就發(fā)生 ViewChange 事件。對于 PivotTable 視圖,Reason 參數(shù)將指示發(fā)生了何種類型的更改;捕獲此事件可使應(yīng)用程序基于用戶更改當(dāng)前視圖的方式來相應(yīng)更改 PivotTable 視圖的格式。對于 PivotChart 視圖,Reason 參數(shù)總是返回同一個值 (-1),因此捕獲此事件所起的作用有限。
命令事件
CommandEnabled
當(dāng) PivotTable 或 PivotChart 視圖測試命令是否可用時,會發(fā)生 CommandEnabled 事件。Command 參數(shù)指示正在測試哪一個命令的可用性。用戶顯示命令菜單后,應(yīng)用程序可以捕獲該事件,并使用 Enabled 參數(shù)動態(tài)啟用或禁用這些命令。
CommandChecked
當(dāng) PivotTable 或 PivotChart 視圖測試是否選中某一命令時,會發(fā)生 CommandChecked 事件。Command 參數(shù)指示正在測試哪一個命令的狀態(tài)。用戶顯示命令菜單后,應(yīng)用程序可以設(shè)法捕獲該事件,并使用 Checked 參數(shù)動態(tài)選中或取消選中這些命令。
CommandBeforeExecute、CommandExecute
CommandBeforeExecute 和 CommandExecute 事件分別發(fā)生在從 PivotTable 或 PivotChart 視圖執(zhí)行某一命令之前或之后。Command 參數(shù)指示將要執(zhí)行哪個命令,或剛剛執(zhí)行了哪個命令。CommandBeforeExecute 事件的 Cancel 參數(shù)可用于取消掛起命令。使用這些事件,應(yīng)用程序可以防止某些命令的執(zhí)行,或者向用戶警告掛起命令的狀態(tài)。
鍵盤和鼠標(biāo)事件
KeyDown、KeyPress、KeyUp、MouseDown、MouseMove、MouseUp、MouseWheel、Click、DblClick
除了 MouseWheel 事件,這些鍵盤和鼠標(biāo)事件對于 Access 2002 中的 PivotTable 和 PivotChart 視圖都是新事件,但總的說來它們對于 Access 并不是新事件;“Access Visual Basic 幫助”中已對其用法進(jìn)行了介紹。
當(dāng)用戶單擊或滾動鼠標(biāo)滾輪時,會發(fā)生 MouseWheel 事件。在開發(fā)人員希望用鼠標(biāo)滾輪來觸發(fā)自定義操作,而不進(jìn)行默認(rèn)的鼠標(biāo)滾輪行為(例如突出顯示 PivotTable 視圖的不同列)的情況下,應(yīng)用程序就可以捕獲此事件。
總結(jié)
借助于 Access 10.0 對象庫中的這些新事件,開發(fā)人員現(xiàn)在能夠在其應(yīng)用程序中對 PivotTable 和 PivotChart 視圖施加更強(qiáng)的控制。