1

私は新しいツールに取り組んでおり、セルが等しいことに基づいてクエリを実行するために必要です。

例えば、

データ検証を持つExcelに3つのセルがあります。C4:部門 C5:グループ C6:カテゴリ

基本的に、(すべて) が選択されている場合は最初のクエリを実行し、それ以外の場合は 2 番目のクエリを実行します。セルが次のようなものに基づいてクエリを実行するには、グループが必要です。

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 に答える