我使用MS Access 2013和SQL Server 2012.我已将我的SQL Server数据库连接到MS Access。我通过SQL Server身份验证连接到SQL Server。我想执行一个存储过程,并在我的一个表单中输入一个文本框中的值。我一直在尝试这么做,但我在这个网站上没有发现任何东西适合我。任何人都可以请帮助我,并给我一些关于如何编写基本VBA代码来执行过程的提示?请帮忙!!!从MS Access执行SQL Server存储过程
3
A
回答
3
可能最直接的方法是使用DAO.QueryDef对象创建临时传递查询。如果您在Access中有现有的链接表,则可以使用其.Connect
属性(ODBC连接信息)。所有你需要做的是设置的QueryDef的.SQL
属性调用(EXEC)存储过程,就像这样:
Option Compare Database
Option Explicit
Private Sub Command2_Click()
Dim cdb As DAO.Database, qdf As DAO.QueryDef
Set cdb = CurrentDb
Set qdf = cdb.CreateQueryDef("")
' get .Connect property from existing ODBC linked table
qdf.Connect = cdb.TableDefs("dbo_myContacts").Connect
qdf.sql = "EXEC dbo.addContact N'" & Replace(Me.Text0.Value, "'", "''") & "'"
qdf.ReturnsRecords = False
qdf.Execute dbFailOnError
Set qdf = Nothing
Set cdb = Nothing
End Sub
因此,举例来说,如果Text0文本框中包含Thompson
那么的QueryDef将执行
EXEC dbo.addContact N'Thompson'
,如果文本框中包含O'Rourke
那么的QueryDef将执行
EXEC dbo.addContact N'O''Rourke'
+0
谢谢!它完美的工作!你很棒!周一愉快! – Joanna
1
试用后和错误这一个工作对我来说
> Private Sub UpdateItems_Click()
> Dim cdb As DAO.Database, qdf As DAO.QueryDef
> Set cdb = CurrentDb
> Set qdf = cdb.CreateQueryDef("")
> ' get .Connect property from existing ODBC linked table
> qdf.Connect = cdb.TableDefs("dbo_AccesLinkedTable").Connect
> qdf.SQL = "EXEC dbo.YourStoreProcedure"
> qdf.ReturnsRecords = False
> qdf.Execute dbFailOnError
> Set qdf = Nothing
> Set cdb = Nothing
>
> MsgBox "Records Updated!"
>
> End Sub
相关问题
- 1. 从DLL执行SQL Server存储过程
- 2. 从SQL Server存储过程执行Oracle存储过程
- 3. SQL Server通过存储过程将表返回到MS Access
- 4. 如何从MS-Access vba执行Sybase函数/存储过程?
- 5. PHP和SQL Server存储过程执行
- 6. 在SQL Server中执行存储过程
- 7. SQL Server复制 - 存储过程执行
- 8. 无法执行SQL Server存储过程
- 9. SQL Server 2005存储过程执行
- 10. C#&SQL Server:执行存储过程
- 11. SQL Server存储过程执行差异
- 12. 从SQL Server存储过程
- 13. 从SQL Server运行PostgreSQL存储过程
- 14. SQL Server 2005中:“保护”从FMTONLY模式的存储过程由MS Access使用
- 15. 执行SQL存储过程
- 16. 如何使用Ms-Access窗体通过传递参数执行Sql server存储过程
- 17. 如何从Hibernate执行INSERT的SQL Server存储过程?
- 18. 从vb6在sql-server中执行存储过程?
- 19. 错误执行SQL Server的SSIS包从存储过程
- 20. 在SQL Server的每一行执行一个存储过程表
- 21. 在MS SQL Server中存储查询与存储过程
- 22. Bash或PHP脚本在SQL Server上执行存储过程
- 23. 在MS Access中创建存储过程?
- 24. 从Access 2007创建SQL Server存储过程 - 更改模式
- 25. 无法执行我的SQL Server存储过程使用db.Database.SqlQuery(sql)
- 26. 如何在SQL Developer中执行SQL Server存储过程?
- 27. 如何知道MS SQL Server中存储过程的执行状态
- 28. MS SQL Server:检查用户是否可以执行存储过程
- 29. 为SELECT运算符(MS SQL SERVER)执行类似“表”的存储过程
- 30. 从存储过程两个结果在MS SQL Server 2008 R2
您是否尝试使用DAO.QueryDef对象创建传递查询? –
@gord thompson不,我没有,我不知道该怎么做... – Joanna