我在 VBA 中创建了一个循环,它应该更改代码的 strSql 部分中的变量 (j)。我在 Excel 工作表上的输出列都是相同的。这意味着在 strsql 字符串中不考虑变化的变量 j。在这种情况下,有人知道如何使用适当的变化变量吗?提前致谢
设置 rs = New ADODB.Recordset
For j = 1 To 6
strSql = "SELECT COUNT(*) FROM( " & _
"SELECT COUNT(*) as nbp FROM `order` " & _
"JOIN user ON user.id = order.destination_id " & _
"AND DATEDIFF(date_added , register_date) <= j" & _
"GROUP BY destination_id) c " & _
"GROUP BY nbp " & _
"ORDER BY c.nbp ASC ; "
rs.Open strSql, oConn, adOpenDynamic, adLockPessimistic
res = rs.GetRows
rs.Close
For i = 1 To 2
Cells(i, j) = res(0, i - 1)
Next i
Next j
最佳答案
你需要将 j 从你的字符串中移出
注册日期) <= j"&
到
注册日期) <= "& j &
关于mysql - 在 VBA mysql 查询中使用循环更改变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13145962/