1
タイトルでは、更新ステートメント内でVBA変数を使用しようとしています。これは、範囲内の各セルをループし、その繰り返しセル参照に対応するテーブル内の値からワークシートの値を減算するために使用されています。しかし、ステートメントは "括弧が多すぎます"というエラーを出します。しかし、これは私にとって奇妙なことです。私はSQL構文を直接アクセスから取り除きました。私は何かが足りないと思う? VBA変数とAccess UPDATEステートメントでVBA変数を使用しようとしています
コード::私は、コードの両方のバージョンをポストする変数なし
Private Sub UPDIZZLE()
Dim rCell As Range
Dim rRng As Range
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strConnection As String
Dim QUV As Long
Dim IID As String
Set rRng = ActiveWorkbook.Sheets("Sheet1").Range("b2:b100")
For Each rCell In rRng.Cells
If rCell <> "" And rCell.Value <> 0 Then
IID = rCell
QUV = rCell.Offset(0,x).Value
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Ashleysaurus\Desktop" & "\" & "xyzmanu3.accdb"
con.Open strConnection
rs.Open "UPDATE Stuff SET Stuff.Quantity = Quantity-" & QUV & " WHERE (((Stuff.[ItemID])=" & IID & "));", con
con.Close
End If
Next rCell
End Sub
コード:IID
として
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Ashleysaurus\Desktop" & "\" & "xyzmanu3.accdb"
con.Open strConnection
rs.Open "UPDATE Stuff SET Stuff.Quantity = Quantity-1 WHERE (((Stuff.[ItemID])=Thingamagig));", con
con.Close
'IID'の値自体に括弧が含まれている可能性はありますか? – RGA
'IID'は文字列ではありません。' rs.Open "UPDATE Stuff SET Stuff.Quantity = Quantity-"&QUV& "WHERE(((アイテム[ItemID])= '"&IID & "')); " (IID'の回りに一重引用符で囲まれています) –
あなたは私がかなり愚かなnoobの間違いを作って、それを試してポストバックすることができたことを知っています –