gpt4 book ai didi

sql - 从 MS Access 执行 SQL Server 存储过程

转载 作者:行者123 更新时间:2023-12-05 01:00:17 26 4
gpt4 key购买 nike

我使用 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'

关于sql - 从 MS Access 执行 SQL Server 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29593222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com