VB建殼指定工作組啟動ACCESS詳解_第1頁
VB建殼指定工作組啟動ACCESS詳解_第2頁
VB建殼指定工作組啟動ACCESS詳解_第3頁
VB建殼指定工作組啟動ACCESS詳解_第4頁
VB建殼指定工作組啟動ACCESS詳解_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 VB與ACCESS項目技術(shù)分享VB建殼指定工作組啟動MDB項目詳解 一、前言 1.1 用VB加Access進行項目開發(fā)之初衷Access因操作簡便、直觀,以及強大的功能,而得到許多數(shù)據(jù)庫開發(fā)者的推崇,不過 Access 也有一定的局限性,如:Access開發(fā)平臺開發(fā)的項目,無法完全編譯并脫離Access系統(tǒng)環(huán)境;宏的安全級別限制有時讓我們項目不能順利啟動,在分發(fā)項目時,需要我們手動對Access逐一手動設(shè)置等。為彌補 Access 某些不盡如人意的地方,我嘗試著用 VB與 Access 結(jié)合,用以自動完成Access系統(tǒng)環(huán)境設(shè)置,如:修改宏安全級別避開限制啟動MDB項目,或指定工作組啟動 M

2、DB 項目等。1.2 配置要求:l 本文ACCESS為2003版本(其它版本大家可自行測試);l 本文以office提供的ADDRBOOK.mdb數(shù)據(jù)庫作為講解及演示實例l 殼通過VB6編譯,編譯后文件名:指定工作組并啟動MDB項目.exe 1.3 本文要點: l 如何通過“安全機置向?qū)А北Wo數(shù)據(jù)庫;l 如何實現(xiàn)VB與ACCESS無縫對接;l 如何實現(xiàn)VB修改ACCESS宏安全級別限制;l 如何實現(xiàn)用shell函數(shù)指定工作組啟MDB項目l 如何實現(xiàn)VB建立殼及如何編譯EXE二、使用 Security Wizard 設(shè)置 Access 數(shù)據(jù)庫的安全性 我們通常會通過設(shè)置數(shù)據(jù)庫密碼、設(shè)置模塊密碼或

3、將mdb文件轉(zhuǎn)換為 mde 文件等方法來保護數(shù)據(jù)庫的安全,以上方法能最大限度保護數(shù)據(jù)庫的安全,但上述方法在網(wǎng)絡(luò)的多人使用環(huán)境中有一定局限性,不能針對不同的用戶,提供對于數(shù)據(jù)庫對象不同的訪問及管理權(quán)限。解決方案就是建立“工作組”,那什么是“工作組”呢?通俗的說,“工作組”就是將用戶按級別編成不同的“組”,并為不同組設(shè)定不同數(shù)據(jù)庫訪問及管理權(quán)限,并將這些設(shè)置存放在一個后綴為MDW的文件中,這個文件就是工作文件。只是建立工作組需一系列的操作,如果你不是很明了,會讓你無所適從,為此Access為我們提供了友好的“設(shè)置安全機置向?qū)А保屇爿p松“一點”搞定。2.1 “安全機制向?qū)А本唧w操作步驟:1、打開數(shù)

4、據(jù)庫,點菜單 工具安全設(shè)置安全機制向?qū)?,打開向?qū)А?、在對話框中單下一步,其中一些默認選項不用做修改,直至下圖這一步很關(guān)鍵(見下圖),你可選擇已有用戶,并設(shè)定密碼,你也可以添加新用戶,并為添加用戶設(shè)定密碼,剩下就是點下一步直至最后完成就好了。21完成后,會在mdb文件所在文件夾產(chǎn)生另兩個文件(見下圖),后綴mdw 的文件為工作組文件,后綴bak 的文件為 mdb 備份文件。你必須記住,用戶名:tan 密碼:123,這可是我們后面指定工作組打開mdb關(guān)鍵。三、VB建殼指定工作組啟動MDB項目 3.1 了解指定工作組啟動MDB項目命令下面是一段指定工作組啟動MDB項目命令實例(見下圖),你可以直接

5、將以下命令粘貼到運行對話框運行。C:Program FilesMicrosoft OfficeOFFICE11msaccess.exe D:例程ADDRBOOK.mdb /wrkgrp D:例程Security.mdw /user tan /pwd 123l 應(yīng)用程序路徑:C:Program FilesMicrosoft OfficeOFFICE11msaccess.exe l MDB文件路徑:D:例程DataADDRBOOK.mdb l 指定工作組參數(shù):/wrkgrpl 工作組文件路徑:D:例程DataSecurity.mdwl 工作組用戶參數(shù):/userl 工作組用戶密碼參數(shù):/pwd3.

6、2 指定工作組啟動MDB需要解決的幾個問題:l 實現(xiàn)VB與ACCESS 的無縫對接。實現(xiàn)對接需要VB工程中引用ACCESS11.0 類庫,文件名 MSACC.OLB ,引用方法:在VB工程窗口,點擊菜單:工程引用鉤選 Micfrosoft ACCESS 11.0 Object library點確定,完成類庫引用。這樣我們就能如在VBA編輯環(huán)境一樣對ACCESS對象進行編程,調(diào)用ACCESS類對象屬性、事件、方法。實例代碼:申明ACCESS對象類Dim objAccess As Access.Application創(chuàng)建ACCESS實例對象Set objAccess = CreateObject(

7、ACCESS.Application)通過access對象屬性,獲得當前access版號strVer = objAccess.Version退出ACCESS,并釋放內(nèi)存objAccess.QuitSet objAccess = Nothingl 修改ACCESS宏安全級別自定義函數(shù),確保mdb項目順利啟動。有關(guān)于此的方法我在論壇有發(fā)貼,在此不著筆墨。 實例代碼:* 函 數(shù) 名:SetRegLevel- 功能描述:修改ACCESS安全級別在注冊表鍵值. 輸 入:blnSetReg (Boolean) ,false為低,true為中 輸 出:無 調(diào)用模塊:RegWrite 寫注冊表操作自定義函數(shù),

8、用以修改安全級別鍵值 編程:江羽 日 期:2008-10-09* Public Function SetRegLevel(blnSetReg As Boolean) Dim strRegSec As String 字符串變量,安全設(shè)置鍵值所在注冊表路徑 Dim strVer As String 當前ACCESS版號字符串變量 On Error Resume Next 創(chuàng)建ACCESS對象 Set objAccess = CreateObject(ACCESS.Application) 獲得當前office版號 strVer = objAccess.Version 退出ACCESS,并釋放內(nèi)存

9、objAccess.Quit Set objAccess = Nothing 將注表路徑賦值給變量 strRegSec = HKEY_CURRENT_USERSoftwareMicrosoftOffice & _ strVer & accessSecurityLevel RegWrite 自定義函數(shù),用以寫入鍵值操作 鍵值1為低,2為中,3為高 If blnSetReg = False Then RegWrite strRegSec, 1 Else RegWrite strRegSec, 2 End If End Functionl 指定工作組啟動MDB項目自定義函數(shù)。這一節(jié)關(guān)鍵點在于用代碼獲

10、取msaccess.exe 文件所在路徑,換句話說就是必須得到office的安裝路徑。方法有二:一是SysCmd方法,二是通過注冊表指定鍵值獲取,本文采用的是第一種方法。以上二法代碼實例,我在論壇中已有發(fā)貼,在此不做細說。下面是指定工作組啟動MDB項目代碼。* 函 數(shù) 名:OpenWmdAcc- 功能描述:用shell方法打開帶安全工作組MD項目,必須提供工作組文件完整路徑, 工作組用戶名,密碼. 輸 入:strAccName(String) mdb項目文件名 strMdwName(String) 工作組文件名 strUserName(String) 工作組用戶名 strPassWord(st

11、ring) 工作組密碼 輸 出:無 調(diào)用模塊: 編程:江羽 日 期:2008-10-09*Public Function OpenWmdAcc(strAccName As String, strMdwName As String, strUserName As String, strPassWord As String) Dim strAccPath As String Msaccess.exe 文件完整路徑 Dim strAccFileName As String 要啟動 mdb文件完整路徑 Dim strMdwFileName As String 工作組文件及完整路徑 Dim strAPP

12、 As String 命令表達式 On Error Resume Next 創(chuàng)建ACCESS實例 Set objAccess = CreateObject(ACCESS.Application) 獲取MSACCESS.EXE完整路徑 strAccPath = SysCmd(acSysCmdAccessDir) & msaccess.exe 獲取mdb項目完整路徑 strAccFileName = App.Path & Data & strAccName 獲取工作組文件完整路徑 strMdwFileName = App.Path & Data & strMdwName 帶工作組啟動的命令行 st

13、rAPP = & strAccPath & & strAccFileName & /wrkgrp & _ strMdwFileName & /user & strUserName & /pwd & strPassWord Shell strAPP, 3 啟動帶工作組項目 objAccess.Quit 退出ACCESS Set objAccess = Nothing 并釋放內(nèi)存 如出現(xiàn)錯誤,給出錯誤提示 If Err 0 Then MsgBox 系統(tǒng)出現(xiàn): & Err.Description & 錯誤! , vbOKCancel + 32, 系統(tǒng)提示: End IfEnd Functionl 調(diào)

14、用以上兩個自定義函數(shù),建立指定工作組啟動項目過程。實例代碼:* 過 程 名:OpenWmdMdb- 功能描述:首選修改宏安全級別限制,其次指定工作組打開mdb項目過程 輸 入:blnSetReg (Boolean) 輸 出:無 調(diào)用模塊:SetRegLevel 寫注冊表操作自定義函數(shù),用以修改安全級別鍵值 OpenWmdAcc 指定工作組并啟動mdb項目 編程:江羽 日 期:2008-10-09*Sub OpenWmdMdb() 關(guān)閉宏安全級別限制 SetRegLevel False 指定工作組啟動mdb項目,用戶名:tan,密碼:123,是建立工作組時自己設(shè)定的 OpenWmdAcc ADD

15、RBOOK.mdb, Security.mdw, tan, 123 開啟中宏安全級別限制 SetRegLevel TrueEnd Sub3.3最終完成建殼,并編譯為EXEl 啟動VB6,建一個標準EXE工程。21l 將窗體BorderStyle屬性設(shè)為:0-None 無邊框模式,在picture屬性中添加背景圖片,實例圖片CXT.jpg在素材文件夾中。 l 將控件工具欄中的時鐘控件添加到窗體中,并將時鐘控件Interval屬性值設(shè)定為:3000,以便計時器觸事件在三秒鐘后關(guān)閉窗體。 l 添加時鐘控件觸發(fā)事件,見實例代碼。* 過 程 名:Timer1_Timer- 功能描述:計時器控件,計時觸發(fā)事件,用以延時關(guān)閉窗體 輸 入:無 輸 出:無 調(diào)用模塊:OpenWmdMdb 編程:江羽 日 期:2008-10-09*Private Sub Timer1_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論