[英]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.