從報(bào)表的預(yù)覽窗口上移除最小化、化以及復(fù)原按鈕,創(chuàng)建一個(gè)自定義的工具條讓用戶來關(guān)閉報(bào)表以及使用某些API函數(shù)來移除預(yù)覽窗口上的標(biāo)題欄。使用這種方法,一旦化報(bào)表,預(yù)覽窗口將占據(jù)整個(gè)access的屏幕窗口而不出現(xiàn)允許復(fù)原按鈕恢復(fù)原來窗口的大小以及不出現(xiàn)其它按鈕。
正文:
從報(bào)表的預(yù)覽窗口上移除最小化、化以及復(fù)原按鈕,創(chuàng)建一個(gè)自定義的工具條讓用戶來關(guān)閉報(bào)表以及使用某些API函數(shù)來移除預(yù)覽窗口上的標(biāo)題欄。使用這種方法,一旦化報(bào)表,預(yù)覽窗口將占據(jù)整個(gè)access的屏幕窗口而不出現(xiàn)允許復(fù)原按鈕恢復(fù)原來窗口的大小以及不出現(xiàn)其它按鈕。
涉及的使用步驟如下:
1.在每個(gè)報(bào)表的Deactivate事件處理程序中寫入:
DoCmd.CloseacReport,Me.Name
2.在一個(gè)總是打開的主菜單中放置一個(gè)的退出數(shù)據(jù)庫的按鈕,并在引用報(bào)表的窗口(frmStart)中定義:
DimCanCloseasInteger
在窗體的Open事件處理程序中寫入:
CanClose=0
在窗體的Unload事件處理程序中寫入:
IfNotCanCloseThen
Cancel=True
Forms!frmStart.Visible=True
'formishiddenwhenreportispreviewed
DoCmd.SelectObjectacForm,"frmStart"
CloseForms
CloseReports
'CloseFormsandCloseReportscloseanyopenobjects
'otherthanfrmStart
EndIf
3.使用每個(gè)窗體的Open事件處理程序?qū)懭隓oCmd.Maximize。
4.為打印建立一個(gè)定置的工具條,放置關(guān)閉以及其它的功能按鈕。設(shè)置報(bào)表的菜單為"-1",在工具條上做兩個(gè)限制用戶使用的操作。
5.使用下面的代碼預(yù)覽報(bào)表:
DoCmd.OpenReport"TheReport",acViewPreview,...
CallsRemoveCaption(Reports("TheReport")
這樣的話,用戶就能:
1.看到報(bào)表
2.在工具條操作
3.最小化access
好了,如果用戶想關(guān)閉access,可以主菜單來做到,但在報(bào)表預(yù)覽窗口沒有最小化、化以及關(guān)閉按鈕。
'*********************CodeStart************************
'ThiscodewasoriginallywrittenbyTerryKreft&KeriHardwick.
'Itisnottobealteredordistributed,
'exceptaspartofanapplication.
'Youarefreetouseitinanyapplication,
'providedthecopyrightnoticeisleftunchanged.
'
'CodeCourtesyof
'TerryKreft&KeriHardwick
'
PrivateTypeRECT'16Bytes
leftAsLong
topAsLong
rightAsLong
bottomAsLong
EndType
PrivateDeclareFunctionapiGetWindowLongLib"User32"_
Alias"GetWindowLongA"_
(ByValhwndAsLong,_
ByValnIndexAsLong)_
正文:
從報(bào)表的預(yù)覽窗口上移除最小化、化以及復(fù)原按鈕,創(chuàng)建一個(gè)自定義的工具條讓用戶來關(guān)閉報(bào)表以及使用某些API函數(shù)來移除預(yù)覽窗口上的標(biāo)題欄。使用這種方法,一旦化報(bào)表,預(yù)覽窗口將占據(jù)整個(gè)access的屏幕窗口而不出現(xiàn)允許復(fù)原按鈕恢復(fù)原來窗口的大小以及不出現(xiàn)其它按鈕。
涉及的使用步驟如下:
1.在每個(gè)報(bào)表的Deactivate事件處理程序中寫入:
DoCmd.CloseacReport,Me.Name
2.在一個(gè)總是打開的主菜單中放置一個(gè)的退出數(shù)據(jù)庫的按鈕,并在引用報(bào)表的窗口(frmStart)中定義:
DimCanCloseasInteger
在窗體的Open事件處理程序中寫入:
CanClose=0
在窗體的Unload事件處理程序中寫入:
IfNotCanCloseThen
Cancel=True
Forms!frmStart.Visible=True
'formishiddenwhenreportispreviewed
DoCmd.SelectObjectacForm,"frmStart"
CloseForms
CloseReports
'CloseFormsandCloseReportscloseanyopenobjects
'otherthanfrmStart
EndIf
3.使用每個(gè)窗體的Open事件處理程序?qū)懭隓oCmd.Maximize。
4.為打印建立一個(gè)定置的工具條,放置關(guān)閉以及其它的功能按鈕。設(shè)置報(bào)表的菜單為"-1",在工具條上做兩個(gè)限制用戶使用的操作。
5.使用下面的代碼預(yù)覽報(bào)表:
DoCmd.OpenReport"TheReport",acViewPreview,...
CallsRemoveCaption(Reports("TheReport")
這樣的話,用戶就能:
1.看到報(bào)表
2.在工具條操作
3.最小化access
好了,如果用戶想關(guān)閉access,可以主菜單來做到,但在報(bào)表預(yù)覽窗口沒有最小化、化以及關(guān)閉按鈕。
'*********************CodeStart************************
'ThiscodewasoriginallywrittenbyTerryKreft&KeriHardwick.
'Itisnottobealteredordistributed,
'exceptaspartofanapplication.
'Youarefreetouseitinanyapplication,
'providedthecopyrightnoticeisleftunchanged.
'
'CodeCourtesyof
'TerryKreft&KeriHardwick
'
PrivateTypeRECT'16Bytes
leftAsLong
topAsLong
rightAsLong
bottomAsLong
EndType
PrivateDeclareFunctionapiGetWindowLongLib"User32"_
Alias"GetWindowLongA"_
(ByValhwndAsLong,_
ByValnIndexAsLong)_