簡體   English   中英

使用Cursor將t-SQL查詢轉換為Microsoft Access

[英]Convert t-SQL query with Cursor to Microsoft Access

我的一位經理創建了一個Access數據庫,並正在進行一些數據分析-如果是方案怎么辦。 根據不同的條件,他在Access中生成報告。

他要求我進行一些數據操作,因此我將數據庫導入到SQL中,並編寫了一個帶有游標的例程,該例程可以執行他想要的操作。 然后,我將結果導出回Access。 在使用游標之前,我認為這是一次性的交易,因此這是我完成該任務的最快方法。

如您所料,現在他希望我一直運行它,並要求我將例程轉換為Access,以便他可以運行它。 在您告訴我只使用SQL之前,他非常熟悉Access,並且經常出差在外。

因此,我的問題是:是否有一種“簡便”的方法將帶有游標的T-SQL查詢轉換為Access? 自從我使用Access以來已經有很長時間了,但是我懷疑它必須用VBA重寫。 我在想,也許另一種解決方案是從Access調用查詢並在SQL中運行它,但是我不知道是否可以這樣做,或者由於他脫機而無法解決我的情況(也許在筆記本電腦上安裝SQL Express?)

任何建議,將不勝感激。

謝謝,亞歷克斯

這就是我的解決方法:

 1.Downloaded and install SQL server express in the user's machine.
 2.uploaded Access database structure and data to the local SQL.
 3.created the stored procedure that I wanted to run in the local SQL server.
 4.back in Access, deleted all the tables and recreated them as linked tables to SQL
 5.Create a form in Access with a big button that executes the stored procedure
    `Private Sub Command0_Click()
     Dim qdf As DAO.QueryDef
     Set qdf = CurrentDb.CreateQueryDef("")
     qdf.Connect = CurrentDb.TableDefs("ANY TABLE").Connect
     qdf.SQL = "EXEC dbo.[stored procedure name]"
     qdf.ReturnsRecords = False
     qdf.Execute
     Set qdf = Nothing`

存儲過程將截斷一個,重新填充其中一個表。 因此,執行完之后,我可以在Access中打開表並查看更改。 我的經理可以繼續使用Access,並且在后端使用SQL Server。 美好的結局! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM