1

我一直在研究一个新工具,我需要它来根据单元格相等来运行查询。

例如,

我在 excel 中有 3 个具有数据验证的单元格。C4:部门 C5:组 C6:类别

基本上,如果(全部)被选中,则运行第一个查询,否则运行第二个。我需要 Group 根据单元格的样子运行查询:

If Sheets("Rollup").Range("C5").Value = "(All)" Then
Sheets("Codes").Range("B3:XFD1048576").Clear
        cn.Open SQLServerConnString
        strQuery = "Select DEPT_CATG_GRP_DESC from dbo.Rollup GROUP BY DEPT_CATG_GRP_DESC ORDER BY DEPT_CATG_GRP_DESC"
        Set rs = cn.Execute(strQuery)
        Sheets("Codes").Range("B3").CopyFromRecordset rs
        rs.Close
        cn.Close
Else Sheets("Codes").Range("B3:XFD1048576").Clear
        cn.Open SQLServerConnString
        strQuery = "Select DEPT_CATG_GRP_DESC WHERE DEPT_CATG_GRP_DESC = C5.Value from dbo.Rollup GROUP BY DEPT_CATG_GRP_DESC ORDER BY DEPT_CATG_GRP_DESC"
        Set rs = cn.Execute(strQuery)
        Sheets("Codes").Range("B3").CopyFromRecordset rs
        rs.Close
        cn.Close
End If
4

2 回答 2

4

您的 SQL 字符串只是一个字符串。您必须连接值来构建您想要的字符串。

 strQuery = "Select DEPT_CATG_GRP_DESC WHERE DEPT_CATG_GRP_DESC = " & Sheets("Rollup").Range("C5").Value & " from dbo.Rollup GROUP BY DEPT_CATG_GRP_DESC ORDER BY DEPT_CATG_GRP_DESC
于 2013-11-06T16:26:55.570 回答
0

我在 Power Query 中嵌入了 SQL 代码。我在 Excel 工作表中有一个命名单元格。我已成功引用该单元格并将其用作我的电源查询中的过滤器:

YAWafer = Excel.CurrentWorkbook(){[Name="YAWafer"]}[Content]{0}[Column1]  

我无法弄清楚如何将此参数“提供”到嵌入式 SQL 代码中 - 即嵌入到成功使用此参数作为过滤器的同一 Power Query 中的代码。

根据我在这些帖子中看到的想法,我尝试了许多不同的方法,但都没有成功。我的主要动机是将该参数放入嵌入式 SQL 代码中并将其用作预先过滤器。

于 2018-07-10T15:28:34.083 回答