访问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()DimdbsJetAsDatabaseDimtdfExtemalJetTableAsTableDef‘打开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&".",0EndSub该例链接了外部MicrosoftJet表,然后显示一个信息框作为确认。注意,当连接使用MicrosoftJet数据库引擎的外部数据库时,不能用源数据库类型作为连接字符串。本例中的连接字符串以一个分号开头,而不是以源数据库类型开头。说明:(1)建立了对一个表的链接之后,就可以像处理其它access表一样来使用链接表。但是应注意,在引用链接表时,不要使用表的初始名,而应使用链接该表时为其分配的名字。对于上面的例子来说,所建立的链接表为LinkTable,可以用下面的语句打开这个表:SetMyTable=MyDB.OPenReCordset(“LinkTable“,dbOPenTable)(2)在链接一个外部表后,如果试图再次链接该表,将会显示出错信息。因此,在运行一个链接外部表的程序时,应确保要建立的链接表不存在,或者在处理完后解除链接。可以用TableDefs集合的Delete方法解除链接,例如:MvDB.TableDefs.Delete”LinkTable“2.打开外部MicrosoftJet表可以用OpenDatabase方法直接打开外部MicrosoftJet表,分别用路径、独占访问值、只读值和数据源名称作为参数。例:编写程序,打开外部MicrOsoftJet表,并输出表的内容。在窗体上画一个命令按钮,然后编写如下的事件过程:PrivateSubCommand1_Click()DimdbsExtemalJetAsDatabaseDimrstAccountsAsRecordsetFontSize=12'打开名为dbtest的外部MicrosoftJet数据库SetdbsExtemalJet=OpenDatabase("d:\dbtest\dbtest.mdb",False,False,"")'打开tb表中的RecordsetSetrstAccounts=dbsExtemalJet.OpenRecordset("tb")PrintTab(2);"姓名";Tab(14);"地址";Tab(32);"电话";_Tab(44);"邮政编码"PrintDOUntilrstAccounts.EOFPrintrstAccounts.姓名;"";PrintrstAccounts.地址;PrintTab(30);rstAccounts.电话;PrintTab(44);rstAccounts.邮政编码rstAccounts.MoveNextlooprstAccounts.closedbSEXtemalJet.CloseEndsub该例打开了一个外部MicrosoftJet表,然后从该表中建立Recordset对象,并输出表中的全部记录。->
赞助商链接