0
Dim StoreNoToUpdate As String
Dim Marsha As String

StoreNoToUpdate = "ABCXYZ123"

Marsha = "hi"

db.Execute "Update TblLodgingReport set [MarshaCode]=  'Marsha'  where [Store Number ID]= 'ABCXYZ123'"

I am trying to update "hi" at "ABCXYZ123" location. but its not pasting "hi", instead its pasting "Marsha".

3 Answers 3

5

You need to get away from SQL concatenation and start using parameters.

Query with parameters:

PARAMETERS [prmMarshaCode] Text (50), [prmStoreNoToUpdate] Text (50);
UPDATE TblLodgingReport SET [MarshaCode] = [prmMarshaCode]
WHERE [Store Number ID] = [prmStoreNoToUpdate];

Calling the above query in VBA:

With CurrentDb().QueryDefs("qryName")
    .Parameters("[prmMarshaCode]").Value = Marsha 
    .Parameters("[prmStoreNoToUpdate]").Value = StoreNoToUpdate 
    .Execute dbFailOnError
End With
Sign up to request clarification or add additional context in comments.

Comments

0

Try:

Dim StoreNoToUpdate As String
Dim Marsha As String

StoreNoToUpdate = "ABCXYZ123"

Marsha = "hi"

Db.Execute "Update TblLodgingReport set [MarshaCode]='" & Marsha & "'where [Store Number ID]= 'ABCXYZ123'"

1 Comment

string concat should not be encouraged. Use SQL parameters instead
0

Try changing the following line

db.Execute "Update TblLodgingReport set [MarshaCode]='" & Marsha & "' where [Store Number ID]='" & StoreNoToUpdate & "'"

Its because 'Marsha' means you are literally sending Marsha as string and not using the variable.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.