Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Access中带有参数的存储过程_Sql_Vba_Stored Procedures_Sql Server 2012_Ms Access 2013 - Fatal编程技术网

Sql Access中带有参数的存储过程

Sql Access中带有参数的存储过程,sql,vba,stored-procedures,sql-server-2012,ms-access-2013,Sql,Vba,Stored Procedures,Sql Server 2012,Ms Access 2013,我有一个在Access中运行的存储过程 Private Sub ReviewTrns_Click() Dim cdb As DAO.Database, qdf As DAO.QueryDef Set cdb = CurrentDb Set qdf = cdb.CreateQueryDef("") qdf.Connect = cdb.TableDefs("dbo_FreeShipping").Connect qdf.SQL

我有一个在Access中运行的存储过程

Private Sub ReviewTrns_Click()
    Dim cdb As DAO.Database, qdf As DAO.QueryDef
        Set cdb = CurrentDb
        Set qdf = cdb.CreateQueryDef("")

        qdf.Connect = cdb.TableDefs("dbo_FreeShipping").Connect
        qdf.SQL = "EXEC dbo.UpdateTrns"

        qdf.ReturnsRecords = False
        qdf.Execute dbFailOnError
        Set qdf = Nothing
        Set cdb = Nothing
MsgBox "Records Updated!"

End Sub
它工作得很好
dbo_FreeShipping
是一个链接表,
dbo.UpdateTrns
是一个存储过程。我还想为参数
@variable1


可以用消息框输入吗?

只需将用户输入的结果连接到sql调用中即可。尝试以下方法:

Private Sub ReviewTrns_Click()

  Dim input As String
  input = InputBox("Enter variable1") //get the user input

  Dim cdb As DAO.Database, qdf As DAO.QueryDef
  Set cdb = CurrentDb
  Set qdf = cdb.CreateQueryDef("")

  qdf.Connect = cdb.TableDefs("dbo_FreeShipping").Connect
  qdf.SQL = "EXEC dbo.UpdateTrns @variable1='" & input & "'" // concatenate parameter

  qdf.ReturnsRecords = False
      qdf.Execute dbFailOnError
      Set qdf = Nothing
      Set cdb = Nothing

  MsgBox "Records Updated!"

End Sub

我从vba中的警报框获取输入变量的转到方法是
InputBox()
。e、 g:

Public myStr as String

public sub GetInputStr()
    myStr = InputBox("Enter your variable here")
end sub
然后,您应该能够在模块内的其他sub中使用myStr。希望这有帮助