我使用 MS Access 2013 和 SQL Server 2012。我已将 SQL Server 数据库连接到 MS Access。我通过 SQL Server 身份验证连接到 SQL Server。我想执行一个存储过程,并将值输入到我的表单之一的文本框中。我多年来一直在尝试这样做,但我在这个网站上发现的任何东西都不适合我。任何人都可以帮助我并给我一些关于如何编写基本 VBA 代码来执行该过程的提示吗?请帮忙!!!
最直接的方法可能是使用 DAO.QueryDef 对象创建临时传递查询。如果您在 Access 中已有链接表,则可以使用其.Connect
属性(ODBC 连接信息)。您需要做的就是设置.SQL
QueryDef 的属性来调用(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'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)