程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 訪問MicrosoftJet數據庫---用MicrosoftJet訪問桌面數據庫(一)

訪問MicrosoftJet數據庫---用MicrosoftJet訪問桌面數據庫(一)

編輯:VB綜合教程
訪問其它MicrosoftJet數據庫(.mdb)中的數據,包括用M1crosoftJet的老版本建的各種數據庫。

1.鏈接外部MicrosoftJet表
  為了在本地MicrosoftJet數據庫中鏈接外部MicrosoftJet表,可以先用OpenDatabase方法打開本地MicrosoftJet數據庫,建立一個TableDef對象,並設置該對象的Connect和SourceTableName屬性,以分別指定希望鏈接的外部MicrosoftJet表的路徑和名稱。這種方法適用於MicrosoftJet1.x,2.x和3.x數據庫。

例:編寫程序鏈接外部MicrosoftJet表。在窗體上畫一個命令按鈕,然後編寫如下事件過程:

PrivatesubCommandl_C1ick()

DimdbsJetAsDatabase

DimtdfExtemalJetTableAsTableDef

‘打開MicrosoftJet數據庫

SetdbsJet=OpenDatabase("C:dbdirdb1.mdb")

'建立TableDef對象

SettdfExtemalJetTable=dbsJet.CreateTableDef("LinkTable")

'設置連接信息

tdfExtemalJetTable.Connect=";DATABASE="&"d:dbtestdbtest.mdb"

tdfEXternalJetTable.SourceTableName="tb"

'追加TableDef對象以創建鏈接

dbSJet.TableDefs.AppendtdfExtemalJetTable

'顯示確認信息

MSgBOx"F1nishedlinhng"&tdfEXternalJetTable.SourceTableName&".",0

EndSub

該例鏈接了外部MicrosoftJet表,然後顯示一個信息框作為確認。注意,當連接使用MicrosoftJet數據庫引擎的外部數據庫時,不能用源數據庫類型作為連接字符串。本例中的連接字符串以一個分號開頭,而不是以源數據庫類型開頭。

說明:

(1)建立了對一個表的鏈接之後,就可以像處理其它Access表一樣來使用鏈接表。但是應注意,在引用鏈接表時,不要使用表的初始名,而應使用鏈接該表時為其分配的名字。對於上面的例子來說,所建立的鏈接表為LinkTable,可以用下面的語句打開這個表:

SetMyTable=MyDB.OPenReCordset(“LinkTable“,dbOPenTable)

(2)在鏈接一個外部表後,如果試圖再次鏈接該表,將會顯示出錯信息。因此,在運行一個鏈接外部表的程序時,應確保要建立的鏈接表不存在,或者在處理完後解除鏈接。可以用TableDefs集合的Delete方法解除鏈接,例如:

MvDB.TableDefs.Delete”LinkTable“

2.打開外部MicrosoftJet表

可以用OpenDatabase方法直接打開外部MicrosoftJet表,分別用路徑、獨占訪問值、只讀值和數據源名稱作為參數。

例:編寫程序,打開外部MicrOsoftJet表,並輸出表的內容。在窗體上畫一個命令按鈕,然後編寫如下的事件過程:

PrivateSubCommand1_Click()

DimdbsExtemalJetAsDatabase

DimrstAccountsAsRecordset

FontSize=12

'打開名為dbtest的外部MicrosoftJet數據庫

SetdbsExtemalJet=OpenDatabase("d:dbtestdbtest.mdb",False,False,"")

'打開tb表中的Recordset

SetrstAccounts=dbsExtemalJet.OpenRecordset("tb")

PrintTab(2);"姓名";Tab(14);"地址";Tab(32);"電話";_

Tab(44);"郵政編碼"

Print

DOUntilrstAccounts.EOF

PrintrstAccounts.姓名;"";

PrintrstAccounts.地址;

PrintTab(30);rstAccounts.電話;

PrintTab(44);rstAccounts.郵政編碼

rstAccounts.MoveNext

loop

rstAccounts.close

dbSEXtemalJet.Close

Endsub

該例打開了一個外部MicrosoftJet表,然後從該表中建立Recordset對象,並輸出表中的全部記錄。

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved