我在Excel中有我从其他列填充的列。我使用子句``WHERE`
查找具体的那些[Period]= j
时,它不起作用。这是我的原始代码:
For j = 0 To 3
For i = 1 To iMax
If Worksheets("Results").Cells(i, 1) = "Extraction" And Worksheets("Results").Cells(i, 2) = "IDK" And Worksheets("Results").Cells(i, 3) = "DAOUI" Then
Compteur = i
Set RecT = gConnect.Execute("SELECT Sum([Volume]) FROM [Output$] WHERE ([Entity]=""TREATMENT FACILITIES"" AND [Period]= j) ;")
所以我尝试将j转换为字符串,在我的循环之前使用k = CStr(j)
,然后使用[Period]=k
,但仍然无法正常工作。
请注意,当我使用[Period]=0
时,它的效果非常好。该错误特别在j
..
有什么想法吗?
答案 0 :(得分:2)
你的" j"不得在引号中,因为它是一个变量。查询正在阅读" j"作为字母" j"之前。
For j = 0 To 3
For i = 1 To iMax
If Worksheets("Results").Cells(i, 1) = "Extraction" And Worksheets("Results").Cells(i, 2) = "IDK" And Worksheets("Results").Cells(i, 3) = "DAOUI" Then
Compteur = i
Set RecT = gConnect.Execute("SELECT Sum([Volume]) FROM [Output$] WHERE ([Entity]=""TREATMENT FACILITIES"" AND [Period]= " & j & ") ;")