在 Microsoft Access 2000 中引入了CurrentProject.Connection属性。它允许开发人员正在编写 ADO 代码在 Microsoft Access 中共享相同的 ADO 连接,由 Microsoft 当前打开的数据库 (Jet 或 SQL Server 数据库) 的访问权限。这可防止开发人员无需打开和管理单独的 ADO 连接,当用户需要操纵在 Microsoft Access 中当前打开的数据库时。
在 Microsoft Access 2002 中引入了CurrentProject.AccessConnection属性。像CurrentProject.Connection属性,它允许开发人员分享 Microsoft Access 的 ADO 连接。这些属性之间的区别取决于使用的 Access 项目 (即,SQL Server 数据库,ADP),或在 Microsoft Access 中的 Jet 数据库 (MDB) 文件。
所以,
当您使用 Access 项目 (ADP) 在 Microsoft Access 2002 或更高版本时, CurrentProject.Connection和CurrentProject.AccessConnection属性之间没有区别。
如果您使用的在 Microsoft Access 2002 或更高版本的 Jet 数据库, CurrentProject.Connection和CurrentProject.AccessConnection属性会返回不同的 ADO 连接。
CurrentProject.Connection
CurrentProject.Connection 属性的行为完全一样,在 Microsoft Access 2000 中。它返回 ADO 连接使用 Microsoft Jet OLEDB 提供程序 (Microsoft.Jet.OLEDB.4.0 提供商)。例如对于下面是为 Jet 数据库正在使用 CurrentProject.Connection 属性返回一个典型的连接字符串:
Provider=Microsoft.Jet.OLEDB.4.0;Data 源 = C:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb
有几种方案中,您应使用 CurrentProject.Connection。如果您的应用程序要求的以下功能,您应使用CurrentProject.Connection 返回 ADO 连接。
-
jet 和同步复制对象 (JRO) 代码。
-
Microsoft ADO 扩展性的 DDL 和安全性 (ADOX) 代码。
-
ADO 代码需要索引支持 ADO 记录集的如 Seek 方法。
Microsoft Access 10 OLEDB 提供程序不能完全支持必需的这些功能能够正常所需的 OLEDB 接口。如果应用程序所需这些功能,则必须使用由 CurrentProject.Connection 属性返回,Jet OLEDB 提供程序创建的连接。
CurrentProject.AccessConnection
CurrentProject.AccessConnection 属性将返回一个 ADO 连接,它使用两个 OLEDB 提供程序。它使用 Jet OLEDB 提供程序 (Microsoft.Jet.OLEDB.4.0) 作为数据提供程序和新的 Microsoft Access 10 OLEDB 提供程序 (Microsoft.Access.OLEDB.10.0) 作为服务提供商。例如对于下面是为 Jet 数据库正在使用 CurrentProject.Connection 属性返回一个典型的连接字符串:
Provider=Microsoft.Access.OLEDB.10.0;Data 源 = C:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb;User ID = 管理 ; 数据 Provider=Microsoft.Jet.OLEDB.4.0
没有使用 CurrentProject.AccessConnection 属性的一个主要优点。如果您要创建将被绑定到 Access 窗体的 ADO 记录集,则使用 CurrentProject.AccessConnection,Microsoft 建议。这是因为窗体将不能更新,除非它使用 Microsoft Access 10 OLEDB 提供程序即使创建记录集是可在 ADO 中更新。