明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

VB通過DAO訪問Access數(shù)據(jù)庫

[摘要]文/張喜瑞、毛立夏  Access是Office系列中功能完備的數(shù)據(jù)工具,本文將其作為應用程序的后臺倉庫,即一個數(shù)據(jù)庫可以包括多個二維表,實現(xiàn)各類數(shù)據(jù)的存儲,適合用來作為數(shù)據(jù)處理的中間橋梁! i...
文/張喜瑞、毛立夏

  Access是Office系列中功能完備的數(shù)據(jù)工具,本文將其作為應用程序的后臺倉庫,即一個數(shù)據(jù)庫可以包括多個二維表,實現(xiàn)各類數(shù)據(jù)的存儲,適合用來作為數(shù)據(jù)處理的中間橋梁。

  Visual Basic對Access數(shù)據(jù)庫的集成非常緊密,通常由以下幾個部分組成。

  引用DAO類型庫

  
  1、從“工程”菜單中選擇“引用”菜單項;

  2、在可引用列表框中選擇“Microsoft DAO 3.51 Object Library”項。

  3、最后“確定”即可

  設置DAO數(shù)據(jù)類型變量

  DAO數(shù)據(jù)類型變量共分成兩種:

  1、Database變量

  對應于Access數(shù)據(jù)庫,通常在模塊中被定義為Public全程變量:

  Public AccessDBF As Database

  '定義數(shù)據(jù)庫對象實例AccessDBF

  2、RecordSet變量

  對應于Access數(shù)據(jù)庫中的一個表,可定義為全程變量或局部變量,亦可作為函數(shù)參數(shù)進行傳遞:

  Dim thePrintTable As RecordSet

  '定義一個表對象實例thePrintTable

  打開DAO數(shù)據(jù)類型

  1、打開Access的方法

  通常可設置一個專門的Public函數(shù)用來打開一個Access數(shù)據(jù)庫,并且該函數(shù)在啟動窗體的Private Sub Form_load ( )過程中被調用,函數(shù)定義格式如下:

  Public Sub OpenDatabase ( )

  Dim sConeect As String

  SConnect = ";PWD = 8830428; UID = admin "

  '設置打開時的用戶名、口令等參數(shù)

  Set AccessDBF = Nothing

  '確認關閉對象實例

  Set AccessDBF = WorksPaces (0 ).OpenDatabase (App.Path&&"/ToXls.MDB",False,sConnect)

  '打開當前路徑的ToXls.MDB數(shù)據(jù)庫

  End Sub

  2、打開RecordSet的方法

  RecordSet遵循即用即開的原則,所以它通常在函數(shù)中打開

  Set thePrintTable = AcessDBF.OpenRecordSet ( "Table_1",dbOpenSnapshot )

  相關的數(shù)據(jù)操作

  數(shù)據(jù)實際需要對Access表中的記錄、字段、數(shù)據(jù)項進行操作。下列雙重循環(huán)把數(shù)據(jù)輸出到Excel對應的單元格中:

  For j = 0 To 2

  For I = 0 To 3

  ThePrintTable.MoveNext

  Excel.Sheet.Range ( Trim ( chr ( 71+j*10+I ) )+"G").Value = thePrintTable.Fields (0)

  Next I

  Next j

  關閉數(shù)據(jù)庫

  1、關閉Database

  它通常在整個應用程序的最后進行操作,即通常出現(xiàn)在Private Sub Form_unload (Cannel As Interger )過程中。命令格式實例如下:

  AccessDBF.Close

  2、關閉RecordSet

  它遵循用完即關的原則,所以通常出現(xiàn)在函數(shù)中。當完成了相關的數(shù)據(jù)操作后就關閉它,下次再用時再打開即可:

  thePrintTable.Close

  結論:通過系統(tǒng)集成開發(fā)應用程序的輸入和輸出模塊,它一方面充分利用了OLE對象程序的優(yōu)點,輕松完成人機界面設計,使程序員從繁瑣而又簡單的點、線、框等定位中脫離出來;另一方面,由于充分利用了用戶操作熟練的軟件作為人機界面,使用戶有親切感和熟練操作的能力,從而能夠充分發(fā)揮所開發(fā)的應用程序的功能。