WEB开发网
开发学院WEB开发综合 访问MicrosoftJet数据库---用MicrosoftJet访问桌... 阅读

访问MicrosoftJet数据库---用MicrosoftJet访问桌面数据库(一)

 2006-02-27 11:44:45 来源:WEB开发网   
核心提示:访问其它MicrosoftJet数据库(.mdb)中的数据,包括用M1crosoftJet的老版本建的各种数据库,访问MicrosoftJet数据库---用MicrosoftJet访问桌面数据库(一),1.链接外部MicrosoftJet表为了在本地MicrosoftJet数据库中链接外部MicrosoftJet表,可
访问其它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:\dbdir\db1.mdb")

'建立TableDef对象

SettdfExtemalJetTable=dbsJet.CreateTableDef("LinkTable")

'设置连接信息

tdfExtemalJetTable.Connect=";DATABASE="&"d:\dbtest\dbtest.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:\dbtest\dbtest.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对象,并输出表中的全部记录。

->

Tags:访问 MicrosoftJet 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接