我一直在研究一种新工具,我需要它根据单元格相等的内容运行查询。
例如,
我在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
答案 0 :(得分: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
答案 1 :(得分:0)
我在Power Query中嵌入了SQL代码。我在Excel工作表中有一个命名单元格。我已经成功引用了该单元格并将其用作电源查询中的过滤器:
YAWafer = Excel.CurrentWorkbook(){[Name="YAWafer"]}[Content]{0}[Column1]
我无法弄清楚如何将该参数“馈入”嵌入式SQL代码-即,嵌入到成功使用该参数作为过滤器的同一Power Query中的代码。
根据我在这些帖子中看到的想法,我尝试了许多不同的方法,但是没有成功。我的主要动机是将该参数输入到嵌入式SQL代码中,并将其用作预先过滤器。