下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如何禁止用戶使用 Shift 鍵跳過(guò)啟動(dòng)窗體作者:- .&netboy (QQ165229)日期:2005 年 11 月適用版本:Access 97 、Access 2000、Access 2002、Access 2003難度系數(shù):* 問(wèn)題詳述如果程序設(shè)置了啟動(dòng)窗體,程序在打開(kāi)時(shí)都會(huì)自動(dòng)進(jìn)入啟動(dòng)窗體界面,而不會(huì)顯示 Access 的數(shù)據(jù)庫(kù)窗體,但有些好奇的用戶可能知道按住 Shift 鍵來(lái)打開(kāi)程序, 然后進(jìn)入到數(shù)據(jù)庫(kù)窗體,修改表或其他 Access 對(duì)象的內(nèi)容,從而導(dǎo)致程序出錯(cuò)或者數(shù)據(jù)丟失,有什么辦法禁止用戶使用 Shift 鍵跳過(guò)啟動(dòng)窗體呢?netboy 解答可以通過(guò)設(shè)置“AllowBypa
2、ssKey”屬性來(lái)達(dá)到禁止使用 Shift 鍵的目的,而在Access 數(shù)據(jù)庫(kù)和 Access 項(xiàng)目中禁止 Shift 鍵需要使用不同的方法。1在 Access 數(shù)據(jù)庫(kù)(MDB)中禁止 Shift 鍵的方法首先創(chuàng)建一個(gè)設(shè)置數(shù)據(jù)庫(kù)屬性的通用函數(shù)。Function ChangeProperty(strPropName As String, varPropType As Variant, varPropvalue As Variant) As IntegerDim dbs As Object, prp As VariantConst conPropNotFoundError = 3270 沒(méi)有找到屬
3、性的錯(cuò)誤常量Set dbs = CurrentDb 獲取當(dāng)前的數(shù)據(jù)庫(kù)對(duì)象On Error GoTo Change_Err 如果出錯(cuò)則轉(zhuǎn)到錯(cuò)誤處理dbs.Properties(strPropName) = varPropvalue 如果找到屬性,則設(shè)置屬性的值為新的值ChangeProperty = True 設(shè)置成功,設(shè)置函數(shù)值返回真Change_Bye:Exit Function Change_Err:If Err = conPropNotFoundError Then 如果錯(cuò)誤是數(shù)據(jù)庫(kù)沒(méi)有這個(gè)屬性Set prp = dbs.CreateProperty(strPropName, _ var
4、PropType, varPropvalue) 創(chuàng)建新的屬性,并設(shè)置它的默認(rèn)值dbs.Properties.Append prp 將新的屬性對(duì)象綁定到數(shù)據(jù)庫(kù)Resume Next 繼續(xù)執(zhí)行后面的代碼ElseChangeProperty = False 如果是其它錯(cuò)誤,則函數(shù)值返回假Resume Change_Bye 轉(zhuǎn)到函數(shù)退出處理End IfEnd Function然后調(diào)用這個(gè)通用函數(shù)來(lái)設(shè)置“AllowBypassKey”屬性值為 False,代碼如下。ChangeProperty AllowBypassKey, 1, FalseFalse 為禁止 Shift 鍵,True 為恢復(fù)如果想允許
5、使用 Shift 鍵,則同樣設(shè)置 ChangeProperty AllowBypassKey, 1, True 就可以了。2在 Access 項(xiàng)目(ADP)中禁止 Shift 鍵的方法首先創(chuàng)建一個(gè)檢測(cè)項(xiàng)目的屬性是否存在的函數(shù),如果函數(shù)值返回真,則表示屬性已經(jīng)存在。Private Function PropertyIsExist(MyPropName As String) As Boolean PropertyIsExist = False 首先初始化返回值為假Dim i As IntegerWith CurrentProject.Properties 循環(huán)當(dāng)前工程項(xiàng)目的所有屬性For i =
6、0 To .Count - 1 如果項(xiàng)目屬性已經(jīng)存在,則返回真,否則返回假If .Item(i).Name = MyPropName ThenPropertyIsExist = True Exit ForEnd If Next i End WithEnd Function然后創(chuàng)建一個(gè)設(shè)置項(xiàng)目屬性的通用函數(shù),根據(jù)屬性值是否存在而進(jìn)行不同的處理。Function SetMyProperty(MyPropName As String, MyPropvalue As Variant) As BooleanOn Error GoTo SetMyProperty_In_Err 如果出錯(cuò)則轉(zhuǎn)到錯(cuò)誤處理程序D
7、im i As IntegerWith CurrentProject.Properties 循環(huán)當(dāng)前工程項(xiàng)目的所有屬性If PropertyIsExist(MyPropName) Then 調(diào)用 PropertyIsExist 函數(shù)檢查要設(shè)置的屬性是否已經(jīng)存在For i = 0 To .Count - 1If .Item(i).Name = MyPropName Then.Item(i).Value = MyPropvalue 如果存在這個(gè)屬性,則設(shè)置屬性的值為新值End IfNext i Else.Add MyPropName, MyPropvalue 如果屬性不存在,則創(chuàng)建這個(gè)屬性并設(shè)置它
8、的默認(rèn)值End If End WithSetMyProperty = True 設(shè)置函數(shù)的返回值為真SetMyProperty_Exit:Exit FunctionSetMyProperty_In_Err: 如果出錯(cuò)則提示錯(cuò)誤信息MsgBox 設(shè)置屬性出錯(cuò):, Err, Error$ SetMyProperty = FalseResume SetMyProperty_Exit End Function與 MDB 一樣,最后在程序中調(diào)用這個(gè)設(shè)置函數(shù)來(lái)禁止使用 Shift 鍵。SetMyProperty AllowBypassKey, False False 為禁止 Shift 鍵,True 為恢
9、復(fù)同樣,也可以設(shè)置 ChangeProperty AllowBypassKey, 1, True 來(lái)允許使用 Shift 鍵。上述兩種方法在設(shè)置AllowBypassKey屬性為“False” 之后,如果自己沒(méi)有保留程序備份或沒(méi)有留下后門,則自己也無(wú)法再使用 Shift 打開(kāi)程序進(jìn)入數(shù)據(jù)庫(kù)窗口了。所以,修改這個(gè)屬性之前請(qǐng)做好程序備份。專家點(diǎn)評(píng)所謂“道高一尺,魔高一丈”,其實(shí)上面的方法還不能保證絕對(duì)的安全,通過(guò)在另一個(gè)數(shù)據(jù)庫(kù)文件中運(yùn)行代碼來(lái)打開(kāi)這個(gè)數(shù)據(jù)庫(kù)并設(shè)置“AllowBypassKey”屬性為真,就能破解 Shift 鍵。代碼如下。Public Function EnablePassKey(
10、ByVal strFileName As String) As BooleanOn Error Resume NextDim accApp As Object 存儲(chǔ) Application 對(duì)象Set accApp = CreateObject(Access.Application) 創(chuàng)的 Application建一個(gè)新的 AccessaccApp.OpenCurrentDatabase strFileName 使用新的Application 打開(kāi)要設(shè)置的文件accApp.CurrentProject.Properties.Add AllowByPassKey, True 將AllowByPassKey 屬性值設(shè)置為真accApp.Quit 關(guān)閉新的 ApplicationIf Err.Number = 0 Then EnablePassKey = True End Function其中參數(shù) StrFileNa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)非承重條板數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年度廠房場(chǎng)地租賃合同智慧物流解決方案4篇
- 2025年度水利工程鋼筋供應(yīng)及安裝承包協(xié)議4篇
- 2025年度廠房產(chǎn)權(quán)變更居間服務(wù)合同范本3篇
- 二零二五版鋼結(jié)構(gòu)施工安全風(fēng)險(xiǎn)評(píng)估與管理協(xié)議3篇
- 2025年度門面房屋租賃合同配套設(shè)施維護(hù)責(zé)任書(shū)4篇
- 2025版學(xué)校合同管理范本:制度與執(zhí)行雙管齊下3篇
- 2025年度高空作業(yè)安裝工人勞務(wù)合同范本2篇
- 二零二四年度員工開(kāi)除后的經(jīng)濟(jì)補(bǔ)償與社會(huì)保障合同3篇
- 二零二五年度智慧社區(qū)建設(shè)承建服務(wù)協(xié)議3篇
- 安全常識(shí)課件
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末聯(lián)考化學(xué)試題(含答案)
- 小王子-英文原版
- 新版中國(guó)食物成分表
- 2024年山東省青島市中考生物試題(含答案)
- 河道綜合治理工程技術(shù)投標(biāo)文件
- 專題24 短文填空 選詞填空 2024年中考英語(yǔ)真題分類匯編
- 再生障礙性貧血課件
- 產(chǎn)后抑郁癥的護(hù)理查房
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 電能質(zhì)量與安全課件
評(píng)論
0/150
提交評(píng)論