【问题标题】:Change SQL Server Pass Through Query Variable更改 SQL Server 传递查询变量
【发布时间】:2019-12-11 08:30:54
【问题描述】:

所以我在使用查询设计创建的 MS-Access 中有一个 SQL Server 直通查询。我只需双击它,它就会运行并在数据表视图中打开。然后我可以导出它。查询如下所示:

DECLARE @acyr AS varchar(4);
 SELECT @acyr = '2018'

SELECT *
FROM Table
WHERE year = @acyr

我还有一个带有标记为 acyrList 的列表框的表单,用户从 2017、2018、2019 中选择。我希望 acyrList.Value 在传递查询中传递给 @acyr 并返回该年的记录.

我怎样才能做到这一点?

【问题讨论】:

    标签: vba ms-access pass-through jet-sql


    【解决方案1】:

    您可以在列表框的 Click 事件中重建 SQL,然后将该 SQL 分配给传递查询。比如:

    Private Sub acyrList_Click()
      Dim strSQL As String
      strSQL = "DECLARE @acyr AS varchar(4); " & _
               "SELECT @acyr = '" & acyrList.value & "'; " & _
               "SELECT * From Table WHERE year = @acyr;"
    
      'MsgBox strSQL
      CurrentDb.QueryDefs("passthrough_query_name").sql = strSQL
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多