Compile Error: Syntax Error In Date In Query Expression

Hi - Iam writing a VBA code that will acheive the following
Compare the value of an attribute in 2 tables in a database, and update another table with a value depending on if the value of the attributes is the same in the 2 tables or not

However, on compiling, iam getting the error
Syntax Error In Date In Query Expression 'TICKET#'

Can someone please advise what is wrong in my code?
Public Function F2bCheck()
 
Dim db As DAO.Database
Dim rs1 As Recordset
Dim rs2 As Recordset
 
Dim SQL1 As String
Dim SQL2 As String
 
Dim Action1 As String
Dim Action2 As String
 
Set db = CurrentDb
 
SQL1 = "SELECT TICKET#, ACTION FROM Jetbase"
Set rs1 = db.OpenRecordset(SQL1)
 
Do Until rs1.EOF
 
SQL2 = "select Ticket#, Buy_Sell from obs_for_comparsion where ticket# = " & rs1!Ticket# & ""
Set rs2 = db.OpenRecordset(SQL2)
 
Action1 = rs1!Action
Action2 = rs2!Buy_Sell
 
CurrentDb.Execute "update compare Set [Ticket#] = rs1!Ticket#"
 
If Action1 = Action2 Then
CurrentDb.Execute "Update Compare Set [Action_Check] = 0 where [Ticket#] = " & rs2!Match_No & ""
ElseIf Action1 <> Action2 Then
CurrentDb.Execute "Update Compare Set [Action_Check] = 1 where [Ticket#] = " & rs2!Match_No & ""
End If
rs1.MoveNext
Loop
End Function

Open in new window

siva_iafAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Patrick MatthewsCommented:
If your table or field names have anything other than digits, letters, and underscores, you must wrap them in
brackets.. For example,

      SQL1 = "SELECT TICKET#, ACTION FROM Jetbase"

should be

      SQL1 = "SELECT [TICKET#], ACTION FROM Jetbase"

For future reference, using anything other than digits, letters, and underscores in table or field names is a
Very Bad Idea and should be avoided like the plague.

:)

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
siva_iafAuthor Commented:
Great - worked like magic - ill remember the exception now
0
siva_iafAuthor Commented:
Hi - Another one on the same code

Iam using the UPDATE statement to write the result of my comparison to another table called "Compare"
But the table is empty

I thought my code will write the ticket# from rs1 the corresponding result in the Action column

but looks like it is not - i get an error as below

Too few parameters - Expected 1

This is on the line

CurrentDb.Execute "UPDATE compare Set [Ticket#] = rs1![Ticket#]"

Any ideas please?
0
Patrick MatthewsCommented:
CurrentDb.Execute "UPDATE compare Set [Ticket#] = " & rs1![Ticket#]

Or, if Ticket# is text...

CurrentDb.Execute "UPDATE compare Set [Ticket#] = '" & rs1![Ticket#] & "'"
0
siva_iafAuthor Commented:
That works perfectly.... and i ran into some more trouble

problem with the following statement

CurrentDb.Execute "Update Compare Set [Action_Check] = 1 where [Ticket#] = " & rs1![TICKET#] & ""

Same error - too few parameeters - sorry to be a pest

Please advise
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.