如何在ACCESS中使用 ADOX 来创建 SQL 传递查询

2007-12-12 20:52:21
andymark-Office交流网
原创
4189

概要本文向您如何在 Microsoft Visual Basic for Applications (VBA) 与 Microsoft ActiveX Data Objects (ADO) 创建 SQL 传递查询。 更多信息

VisualBasic 中用于创建 SQL 传递查询应用程序可以编写一个函数。 SQL 传递查询设置由 SQL 语句和连接字符串。 直接向数据库服务器进行处理当运行查询, 它发送命令。 此删除 MicrosoftJet 数据库引擎的开销。 

与数据访问对象 (DAO) 模型, 可以使用 SQL 传递查询来您访问外部数据时提高性能。 使用 ADO, 您可使用 Microsoft OLE DB Provider for SQL Server 来直接访问 SQLServer 没有开销的 MicrosoftJet 或 ODBC。 您可还使用 Microsoft OLE DB Provider for ODBC 来访问任何 ODBC 数据源中数据。 

虽然您不再有来创建 SQL 传递查询来提高性能, MicrosoftJet 数据库中可以通过使用 ADOX 和 JetProvider 仍完成。 以下代码显示您如何创建 SQL 传递查询。 

备注 : 本文中: 示例代码使用 ADO 和 ActiveX 数据对象扩展用于数据定义语言和安全 (ADOX)。 对于此代码以正确, 运行必须单击 工具 菜单在 VisualBasic 编辑器中 引用 并确保以下两个引用都选中: MicrosoftActiveX 数据对象 2.1 库
Microsoft ADO 2.6 分机对于 DDL 和安全 
Microsoft 提供编程示例仅, 供图示不附带任何明示或暗示。 这包括, 但不仅限于, 适销性或用于特定目的适用性的暗示保证。 本文假定您已熟悉与正在演示编程语言以及工具来调试过程来创建和使用。 Microsoft 支持工程师可以帮助解释功能的特定过程, 但它们将会修改这些示例以提供添加功能或构建过程以满足特定要求。

 要在代码, 创建 SQL 传递查询请按照下列步骤

 Function CreateSPT(SPTQueryName As String, strSQL As String)

     Dim cat As ADOX.Catalog

     Dim cmd As ADODB.Command

     Set cat = New ADOX.Catalog

     Set cmd = New ADODB.Command

      cat.ActiveConnection = CurrentProject.Connection

      Set cmd.ActiveConnection = cat.ActiveConnection

      cmd.CommandText = strSQL

      cmd.Properties("Jet OLEDB:ODBC Pass-Through Statement") = True 'Modify the following connection string to reference an existing DSN for  'the sample SQL Server PUBS database.

      cmd.Properties _ ("Jet OLEDBass Through Query Connect String") = _ "ODBC;DSN=myDSN;database=pubs;UID=saWD=;"

      cat.Procedures.Append SPTQueryName, cmd

      Set cat = Nothing Set cmd = Nothing

 End Function

'要测试此函数, 在立即窗口, 键入以下行 然后按 ENTER 键: 

 ?CreateSPT("MySptQuery", "Select * from Authors")


 原文:http://support.microsoft.com/kb/304323/zh-cn


(相关查询-相关文章技巧链接):
MDB链接SQLSERVER导致写入冲突

分享
发表评论
评论通过审核后显示。