![Access如何禁止用戶使用Shift鍵跳過啟動(dòng)窗體_第1頁](http://file4.renrendoc.com/view/cac8a411bcc5a7263d5ae4eaeeb1db40/cac8a411bcc5a7263d5ae4eaeeb1db401.gif)
![Access如何禁止用戶使用Shift鍵跳過啟動(dòng)窗體_第2頁](http://file4.renrendoc.com/view/cac8a411bcc5a7263d5ae4eaeeb1db40/cac8a411bcc5a7263d5ae4eaeeb1db402.gif)
![Access如何禁止用戶使用Shift鍵跳過啟動(dòng)窗體_第3頁](http://file4.renrendoc.com/view/cac8a411bcc5a7263d5ae4eaeeb1db40/cac8a411bcc5a7263d5ae4eaeeb1db403.gif)
![Access如何禁止用戶使用Shift鍵跳過啟動(dòng)窗體_第4頁](http://file4.renrendoc.com/view/cac8a411bcc5a7263d5ae4eaeeb1db40/cac8a411bcc5a7263d5ae4eaeeb1db404.gif)
![Access如何禁止用戶使用Shift鍵跳過啟動(dòng)窗體_第5頁](http://file4.renrendoc.com/view/cac8a411bcc5a7263d5ae4eaeeb1db40/cac8a411bcc5a7263d5ae4eaeeb1db405.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如何禁止用戶使用 Shift 鍵跳過啟動(dòng)窗體作者:- .&netboy (QQ165229)日期:2005 年 11 月適用版本:Access 97 、Access 2000、Access 2002、Access 2003難度系數(shù):* 問題詳述如果程序設(shè)置了啟動(dòng)窗體,程序在打開時(shí)都會(huì)自動(dòng)進(jìn)入啟動(dòng)窗體界面,而不會(huì)顯示 Access 的數(shù)據(jù)庫窗體,但有些好奇的用戶可能知道按住 Shift 鍵來打開程序, 然后進(jìn)入到數(shù)據(jù)庫窗體,修改表或其他 Access 對(duì)象的內(nèi)容,從而導(dǎo)致程序出錯(cuò)或者數(shù)據(jù)丟失,有什么辦法禁止用戶使用 Shift 鍵跳過啟動(dòng)窗體呢?netboy 解答可以通過設(shè)置“AllowBypa
2、ssKey”屬性來達(dá)到禁止使用 Shift 鍵的目的,而在Access 數(shù)據(jù)庫和 Access 項(xiàng)目中禁止 Shift 鍵需要使用不同的方法。1在 Access 數(shù)據(jù)庫(MDB)中禁止 Shift 鍵的方法首先創(chuàng)建一個(gè)設(shè)置數(shù)據(jù)庫屬性的通用函數(shù)。Function ChangeProperty(strPropName As String, varPropType As Variant, varPropvalue As Variant) As IntegerDim dbs As Object, prp As VariantConst conPropNotFoundError = 3270 沒有找到屬
3、性的錯(cuò)誤常量Set dbs = CurrentDb 獲取當(dāng)前的數(shù)據(jù)庫對(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ù)庫沒有這個(gè)屬性Set prp = dbs.CreateProperty(strPropName, _ var
4、PropType, varPropvalue) 創(chuàng)建新的屬性,并設(shè)置它的默認(rèn)值dbs.Properties.Append prp 將新的屬性對(duì)象綁定到數(shù)據(jù)庫Resume Next 繼續(xù)執(zhí)行后面的代碼ElseChangeProperty = False 如果是其它錯(cuò)誤,則函數(shù)值返回假Resume Change_Bye 轉(zhuǎn)到函數(shù)退出處理End IfEnd Function然后調(diào)用這個(gè)通用函數(shù)來設(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ù)來禁止使用 Shift 鍵。SetMyProperty AllowBypassKey, False False 為禁止 Shift 鍵,True 為恢
9、復(fù)同樣,也可以設(shè)置 ChangeProperty AllowBypassKey, 1, True 來允許使用 Shift 鍵。上述兩種方法在設(shè)置AllowBypassKey屬性為“False” 之后,如果自己沒有保留程序備份或沒有留下后門,則自己也無法再使用 Shift 打開程序進(jìn)入數(shù)據(jù)庫窗口了。所以,修改這個(gè)屬性之前請(qǐng)做好程序備份。專家點(diǎn)評(píng)所謂“道高一尺,魔高一丈”,其實(shí)上面的方法還不能保證絕對(duì)的安全,通過在另一個(gè)數(shù)據(jù)庫文件中運(yùn)行代碼來打開這個(gè)數(shù)據(jù)庫并設(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 打開要設(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)二年級(jí)數(shù)學(xué)口算題上冊(cè)
- 2022年新課標(biāo)八年級(jí)上冊(cè)道德與法治《第九課 樹立總體國(guó)家安全觀 》聽課評(píng)課記錄(2課時(shí))
- 9-1生活需要法律 2法律保障生活 聽課評(píng)課記錄 新部編人教版七年級(jí)下冊(cè)道德與法治
- 人教版地理七年級(jí)上冊(cè)第四節(jié)《世界的氣候》聽課評(píng)課記錄5
- 華師大版歷史九年級(jí)上冊(cè)第16課《啟蒙運(yùn)動(dòng)》聽課評(píng)課記錄
- 戶外廣告制作合同范本
- 三方委托出口合同范本
- 二零二五年度知乎共享空間租賃合作協(xié)議
- SBS防水卷材購貨合同范本
- 公司租賃合同范本
- 電力兩票培訓(xùn)
- TCCEAS001-2022建設(shè)項(xiàng)目工程總承包計(jì)價(jià)規(guī)范
- 2024.8.1十七個(gè)崗位安全操作規(guī)程手冊(cè)(值得借鑒)
- 二次供水衛(wèi)生管理制度及辦法(4篇)
- 中學(xué)生手機(jī)使用管理協(xié)議書
- 給排水科學(xué)與工程基礎(chǔ)知識(shí)單選題100道及答案解析
- 2024年土地變更調(diào)查培訓(xùn)
- 2024年全國(guó)外貿(mào)單證員鑒定理論試題庫(含答案)
- 新版中國(guó)食物成分表
- DB11∕T 446-2015 建筑施工測(cè)量技術(shù)規(guī)程
- 運(yùn)輸車輛掛靠協(xié)議書(15篇)
評(píng)論
0/150
提交評(píng)論