豹子 2007-6-23 09:48
用DAO或ADO正确访问Access 2000
当你使用 DAO 访问 Access 2000 时,是否会出现以下的错误信息?
/^%z:z;^3H3t(u)T
k6SSv*DqySf
"Run-time error 3343 Unrecognized Database Format XXX" CsIf?8[3VA
e.ox?A5}
这个错误信息有二个解决的方式:
e/d"B0K}c VW9R)t6_
U$SZR%q^t
`5I:p9O^s
1、如果你是使用 Data Control 来连结 Access 2000 的资料库时: [WI2F8A/Ns
.r*bhOFt
你必须在设定 Data Control 的 Source 前先加上一行 %XLy GUA2V
|1C4u^I
et
Set Data1.Recordset = rsDAO36 'rsDAO36 is a DAO 3.6 &z.Yf&@8h$UA
-{7j8wh3m
2、如果你是引用「Microsoft DAO 3.51 Object Library」来访问 Access 2000 的资料库时:
VHi otp
1{[*}`:`
`3D
要加入【工程】【部件】「Microsoft DAO 3.6 Object Library」
+kF6G
p.T+e
EN `.xt
x
如果你是使用 ADO 访问 Access 2000 以往在 VB6 中利用 ADO OLEDB Provider 3.51 使用 Access 97 资料库,程序都能正常的 绦小5 是自从将 Access 97 升级到 Access 2000 之后,就无法 利的使用 Access 2000 资料库了,不知道您是否也曾遇到这样的情形呢? u a#sWU]g6k
r,]+yQ"uH}[
其实这种事情在 Microsoft 已经是思空见惯的事情了!任何软件只要有了新的版本,就会有和旧版本不相容的问题产生!
7F(IV4p#c4T:R
m3u
u)m$oy)\-uc;K
而这一次是因为 Access2000 己经使用 Jet 4.0 Engine,所以解 Q方法如下:
F _1w\.L
p&_4O!kxY+| u
在您的 ADO 的 Connect String 中的 Provider 必须修改:"PROVIDER=Microsoft,Jet.OLEDB.4.0"