MS Access VBA-为什么';这不管用吗?如何在SQL中处理变量

MS Access VBA-为什么';这不管用吗?如何在SQL中处理变量,sql,ms-access,Sql,Ms Access,我一直在努力让SQL在保持SQL有效的同时识别变量 sub runsQL() L = 5369 H = 5310 For i = 91 To 358 DoCmd.RunSQL "UPDATE [ResultsXL] SET [ResultsXL].DateID = " & i & "WHERE ((([ ResultsXL].ResID)>" & L & "And ([ResultsXL].ResID)

我一直在努力让SQL在保持SQL有效的同时识别变量

sub runsQL()

L = 5369
H = 5310

For i = 91 To 358

DoCmd.RunSQL "UPDATE [ResultsXL] SET [ResultsXL].DateID = " & i & "WHERE ((([ ResultsXL].ResID)>" & L & "And ([ResultsXL].ResID)<=" & H & "));"

L = L + 59
H = H + 59
next I
end sub
sub-runsQL()
L=5369
H=5310
对于i=91至358
DoCmd.RunSQL“UPDATE[ResultsXL]SET[ResultsXL].DateID=“&i&”WHERE(([ResultsXL].ResID)>“&L&”和([ResultsXL].ResID)我找到了答案。
我不熟悉MS Access SQL。
需要“温习”。
虽然不漂亮,但很管用

Dim L As Long
Dim H As Long
Dim I As Long
Dim strSQL As String


L = 15222
H = 15281
I = 259

DoCmd.SetWarnings False


For I = 259 To 358
这就是我一直在努力的地方…让SQL接受变量

strSQL = "UPDATE [Copy Of ResultsXL] SET [Copy Of ResultsXL].DateID =" & I & vbCrLf & _
"WHERE ((([Copy Of ResultsXL].ResID)>" & L & "And ([Copy Of ResultsXL].ResID)<=" & H & "));"

DoCmd.RunSQL strSQL
L = L + 59
H = H + 59

Next I
strSQL=“更新[ResultsXL的副本]设置[ResultsXL的副本].DateID=“&I&vbCrLf&_

“其中(([ResultsXL.ResID的副本)>”&L&“和([ResultsXL.ResID的副本)您不能忽略空格:

"UPDATE [ResultsXL] SET [ResultsXL].DateID = " & i & " WHERE ([ ResultsXL].ResID > " & L & " And [ResultsXL].ResID <= " & H & ");"

“更新[ResultsXL]设置[ResultsXL].DateID=“&i&”WHERE([ResultsXL].ResID>“&L&”和[ResultsXL]。ResID谢谢你,古斯塔夫。