加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – 挪用存储进程VBA

发布时间:2021-01-22 09:29:51 所属栏目:编程 来源:网络整理
导读:配景:我正在行使Microsoft SQL Server 2008后端的Access 2010用户前端事变.会见中的表都链接到SQL Server数据库.我有一个存储进程,将新值(由参数提供)插入表中.我经验了许多例子,但我不大白是否真的很靠近它可能我完全没有.我之前问了一个相同的题目并获得了

配景:我正在行使Microsoft SQL Server 2008后端的Access 2010用户前端事变.会见中的表都链接到SQL Server数据库.我有一个存储进程,将新值(由参数提供)插入表中.我经验了许多例子,但我不大白是否真的很靠近它可能我完全没有.我之前问了一个相同的题目并获得了一个很好的答复,但我有关于毗连字符串的题目.这是题目/ anwser Calling Stored Procedure while passing parameters from Access Module in VBA

我不知道而且不知道怎样找到成立毗连字符串所需的信息(譬喻:我不知道提供者/处事器名称/处事器地点).我在这里发明白一个题目:“假如你已经有一个指向SQL Server数据库的Access链接表,那么你可以简朴地行使它的.Connect字符串和DAO.QueryDef工具来执行存储进程” – Connection string for Access to call SQL Server stored procedure我试图实现这段代码,但我不确定怎样转达参数,以是我实行行使前面的例子.可是我在“Set rst = qdf.OpenRecordset(dbOpenSnapshot)”这一行获得错误“call failed”,更不消说我的转达参数代码也许是封锁的.

Set qdf = CurrentDb.CreateQueryDef("")
qdf.Connect = CurrentDb.TableDefs("tblInstrumentInterfaceLog").Connect
qdf.sql = "EXEC dbo.upInsertToInstrumentInterfaceLog"
qdf.ReturnsRecords = True
Set rst = qdf.OpenRecordset(dbOpenSnapshot)

qdf.Parameters.Append qdf.CreateParameter("@BatchID",adVarChar,adParamInput,60,BatchID)
qdf.Parameters.Append qdf.CreateParameter("@InstrumentName",InstrumentName)
qdf.Parameters.Append qdf.CreateParameter("@FileName",FileName)
qdf.Parameters.Append qdf.CreateParameter("@QueueId",QuenueId)

rst.Close
Set rst = Nothing
Set qdf = Nothing

谁能汇报我我的代码有什么题目以及为什么我收到这个错误?感谢!

办理要领

维多利亚,

您可以行使ADO运行存储进程,如下所示…

Set mobjConn = New ADODB.Connection
mobjConn.Open "your connection string"
Set mobjCmd = New ADODB.Command
With mobjCmd
    .ActiveConnection = Me.Connection
    .CommandText = "your stored procedure"
    .CommandType = adCmdStoredProc
    .CommandTimeout = 0
    .Parameters.Append .CreateParameter("your parameter name",adInteger,your parameter value)
    ' repeat as many times as you have parameters

    .Execute
End With

要获取毗连字符串,可以行使该行

Debug.Print CurrentDb.TableDefs("tblInstrumentInterfaceLog").Connect

在当即窗口中,它应表现您可以行使的毗连字符串.

假如您有任何题目,请实行一下,让我知道.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读