VBA 3131 error in SQL using variables in query - sql

Can you please help me? I was trying to figure it out for about 2 hours but I still have some error in the syntax.
I have the following code with String variables which I need to pass into the SQL query in VBA script, but I am keep getting some syntax errors.
DoCmd.RunSQL "Delete * From " '" & [tableName] & "' & " Where (" '" & [tableFieldName] & "' & " = " & '" & [tableRecord] & "')"
Thank you very much for some advice.

I think you were going for this:
DoCmd.RunSQL "Delete From [" & TableName & "] Where [" & tableFieldName & "] = '" & tableRecord & "'"
Where I assume TableName, tableFieldName and tableRecord are variables??

Related

How to resolve error in MS Access - VBA SQL execution?

I want to run the below query through Access-VBA and I receive the error in the attached screen. Any ideas how to solve it?
deletenew = ("DELETE * FROM TEST1 where [ADAM] = " & luadam & " and [Last_Update_Date]=" & " " & "")
DoCmd.RunSQL deletenew
Thanks in advance,
Andreas
Your query is not properly written.
This:
"where [ADAM] = " & luadam & " and [Last_Update_Date]=" & " <<MissingValue>> " & ""
where <<MissingValue>> is not valid date. MS Access database can NOT translate " " into date.
should be replaced with:
"where [ADAM] = '" & TextValueHere & "' and [Last_Update_Date]= #" & ISODateHere & "#"
More at: Examples of using dates as criteria in Access queries

When I write code inside textbox doesn't accept it

I have a textbox in a form. I use this textbox to write "Codes" and then I save it in the table in the database through the SQL insert statement, but the code doesn't accept to run and gives me an error message:
Run-Time error '3075'.
type of database: Access database
type of field data: LongText
What the problem and how to pass all same problems when I need to save codes inside the database field.
When I try to save the code without (') it's working!
I use this SQL Statement:
CurrentDb.Execute "Update Tbl_Codes Set [LP_ID]= " & Me.txtID & ",
[Code_Title]='" & Me.txtTitle & "'" _
& " ,[Code_Des]= '" & Me.txtDes & "',[Code_Key]= '" & Me.txtKey & "',
[Notes]= '" & Me.txtNotes & "'" _
& " Where [ID]= " & Me.txtID1 & ""
And I want to save this Code:
DSum("Field1";"Table";"Field2= '" & Value & "'")
Please change your code as follows. You need to escape single quotes by doubling them up. A simple replace will work for your.
CurrentDb.Execute "Update Tbl_Codes Set [LP_ID]= " & Replace(Me.txtID,"'","''") & ",
[Code_Title]='" & Replace(Me.txtTitle,"'","''") & "'" _
& " ,[Code_Des]= '" & Replace(Me.txtDes,"'","''") & "',[Code_Key]= '" & Replace(Me.txtKey,"'","''") & "',
[Notes]= '" & Replace(Me.txtNotes,"'","''") & "'" _
& " Where [ID]= " & Me.txtID1 & ""
DSum("Field1";"Table";"Field2= '" & Replace(Value,"'","''") & "'")

Excel VBA: Using cell value in SQL where statement

I would like to use 2 cell values as dates in an SQL date range.
I tried the following but it does not work ...
Sql = Sql & "WHERE trunc(dh.actshpdate) between " & Worksheets("Source Data").Range("K2").Value & " and " & Worksheets("Source Data").Range("K3").Value & " "
... can anyone advise how to amend this code?
Thanks, SMORF
I worked it out ...
Sql = Sql & "WHERE trunc(dh.actshpdate) between '" & Worksheets("Source Data").Range("K2").Value & "' and '" & Worksheets("Source Data").Range("K3").Value & "' "

VB SQL Error 3061: Too few Parameters

I have the following code:
CurrentDb.Execute "UPDATE Employees SET Login =" & Me.LoginTxt & ",FirstName ='" & Me.FNameTxt & "'" & ",LastName ='" & Me.LNameTxt & "'" & _
",HourlyRate ='" & Me.HRateTxt & "'" & ",ShopID ='" & Me.ShopIDCmbo & "'" & ",HomePhone ='" & Me.HomePhoneTxt & "'" & _
" WHERE ID =" & Me.IDtxt.Value
I get a Runtime Error 3061: Too few parameters. Expected 1.
It tells me the error is in the last part, ie. " WHERE ID =" & Me.IDtxt.Value
I can't for the life of me figure out how to fix this
Please construct the SQL Statement in a string, make the program output it, and add it in your post.
This will help us understanding what's wrong.
If I have to guess, I would add quotes around Me.LoginTxt parameter.

Trouble using variables in VBA SQL WHERE Clause

I am trying to update a table using variables in VBA for Access. The statement is below.
DB.Execute "UPDATE tblSearchersList SET '" & vSearcherDay & "' = " & VHours & "
WHERE Member= '" & Me.cboMember.Column(1) & "'AND [Mission] = '" & Me.Mission & "'"
tblSearcherList is table to update
vSearcherDay is a variable that combines the letter "d" with a number, et(1,2,3,4,5) depending on other query
VHours is a decimal number (number of hours)
Member is a text value from Form Field Me.cboMember.Column(1)
Mission is a text value from form field Me.Mission
I get Runtime error 3061 - Too few parameters expected 2.
Hope I can get some help with this as I have been fighting it for awhile and am losing the battle.
Thanks
New code is this:
Sorry bout the comments thing. I am new and didn't quite know how to do this.
DB.Execute "UPDATE tblSearchersList SET " & vSearcherDay &_
" = " & VHours & " WHERE Member= '" & Me.cboMember.Column(1) & "' &_
" And [Mission] = '" & Me.Mission & "'"
I am quite embarrassed about this but I had the Member field name wrong. Should've been
MemberName instead. I really do appreciate all the quick help I got and will do better next time. It works perfectly. Thank you all.
Don't use apostrophes around field name. Instead
SET '" & vSearcherDay & "' = " &
do
SET " & vSearcherDay & " = " &