Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.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 server SQL:对SQL Server的Access passthru查询中的输入提示_Sql Server_Ms Access - Fatal编程技术网

Sql server SQL:对SQL Server的Access passthru查询中的输入提示

Sql server SQL:对SQL Server的Access passthru查询中的输入提示,sql-server,ms-access,Sql Server,Ms Access,我在访问链接的SQL Server表时有一个工作查询,我使用它将用户输入传递给用户 WHERE (RIGHT(dbo.qryrptWhereUsed.ITEM, 9)=[INPUT_PROMPT:]) 我希望继续使用Access来存储类似的简单查询,这些查询需要用户输入,但希望通过直接到SQL Server db的passthru查询来实现这一点,从而消除Access中的镜像表 如何完成此操作?您可以使用以下代码: Dim strPrompt As String strPro

我在访问链接的SQL Server表时有一个工作查询,我使用它将用户输入传递给用户

WHERE (RIGHT(dbo.qryrptWhereUsed.ITEM, 9)=[INPUT_PROMPT:])
我希望继续使用Access来存储类似的简单查询,这些查询需要用户输入,但希望通过直接到SQL Server db的passthru查询来实现这一点,从而消除Access中的镜像表


如何完成此操作?

您可以使用以下代码:

  Dim strPrompt     As String

  strPrompt = InputBox("Enter where used >")

  With CurrentDb.QueryDefs("qryPass")
     .SQL = "select * from dbo.qryWhereUsed where ITEM = '" & strPrompt & "'"
     .Execute
  End With
如果正在运行报告,则只需执行以下操作:

  Dim strPrompt     As String

  strPrompt = InputBox("Enter where used >")

  With CurrentDb.QueryDefs("qryPass")
     .SQL = "select * from dbo.qryWhereUsed where ITEM = '" & strPrompt & "'"
  End With

  DoCmd.OpenReport "myreport", acViewPreview

你没有,直接。使用SQL Server语法创建传递查询,然后应用运行时参数并在其上构建Access查询。或者,如果您确实希望将它们的限制嵌入到直通SQL中,则需要使用VBA修改直通查询的SQL。