用VB操作Access庫表有很多種方法。壹般初學者經常使用數據控件,很多資料也是以此為出發點來操作Access數據庫,因為這種方法使用起來非常簡單,但是使用數據控件的方法在程序編碼中往往不夠靈活。現在介紹另外兩種操作Access數據庫的方法。
第壹種類型:使用數據庫對象
首先聲明數據對象,代碼如下。
將我的工作空間隱藏為工作空間
Dim MyDB作為數據庫
將WordTab作為記錄集變暗
生成工作區,打開數據庫,然後根據需要打開相應的庫表。
設置MyWs = DBEngine。創建工作空間?〃〃?〃Admin〃?〃〃?dbUseJet
設置MyDB = MyWs。OpenDatabase?數據庫名稱?假的?錯誤的
設置WordTab = MyDB。OpenRecordset?“表名”?dbOpenDynaset
這種方式的好處是代碼比較簡單,需要的環境是DAO 2.5/3.51,其中表名可以改成SELECT語句,即根據條件打開需要的記錄集。這種方法可以從數據控制中分離出來,方便靈活地操作數據庫表,增加了程序的靈活性。
提示:經過測試發現該方法只能打開Access97庫表,對Access2000庫表無能為力,還會彈出庫表格式錯誤的錯誤提示。此外,對數據環境還有很多要求。
第二種類型:使用ADODB
首先,根據需要聲明壹個鏈接變量和壹個記錄集變量。
Dim LocCnn1作為ADODB。關系
Dim LocRst1為ADODB。記錄集
建立與數據庫的鏈接。如果數據庫沒有密碼,最後壹行可以留空(寫出來不會錯)。
設置LocCnn1 = New ADODB。關系
LocCnn1。Open 〃Provider=Microsoft。Jet.OLEDB.4.0?用戶ID=Admin?の& amp;_
〃數據來源=〃& amp;App。路徑與路徑。?\數據庫名稱。mdb?の& amp;_
〃模式=分享否認無?擴展屬性=“”?持久安全信息=假?の& amp;_
〃Jet OLEDB?數據庫密碼='asp561rbc '?〃
這種方法雖然代碼較長,但需要的數據環境較少,而且結構清晰,公布的程序大大減少。因為和鏈接SQL Server等數據庫的方法壹樣,所以大量操作數據庫的代碼都是壹樣的。當數據庫需要從Access擴展到壹些大型數據庫,或者從壹些大型數據庫中裁剪出壹個簡單的數據庫時,程序的移植會更加方便。
此外,該方法可以很好地支持Access97和Access2000,具有良好的兼容性。對於插入、刪除、修改等大量操作,只能在連接層完成,可以提高速度,減少代碼。
如果要獲取記錄集的特定內容,必須根據條件打開特定的庫表。代碼如下:
設置LocRst1 = New ADODB。記錄集
LocRst1。CursorType = adOpenKeyset
LocRst1。LockType = adLockOptimistic
LocRst1。打開〃選擇?從表名?LocCnn1?adCmdText
提示:壹般情況下,推薦第二種方法。