office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

如何在ACCESS中使用 ADOX 來創建 SQL 傳遞查詢

2007-12-12 20:52:21
andymark-Office交流網
原創
8094

概要本文曏您如何在 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導緻寫入衝突

分享