Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3716
  • Last Modified:

Access VBA SQL: Error Too few parameters. Expected 1

Hello!

I am using some code syntax that worked for one table, but is not working for another. I think it is because the table that I am trying to insert the data into has a primary key that is automatically incremental. I want to inforamtion to be placed at the end of the table with the primary key (stoID) automatically entered with the next number in the order. Does that make sense?

Anyway, here is the code I have. It is taking information put into a form and inserting it into a table.

Private Sub Command47_Click()
Dim strSQL As String
strSQL = "INSERT INTO SubTaskOrders(TOID, StoNo, [StoName]) VALUES (" & Me.cmbTaskOrder & ", " & Me.SubNO & ", " & Me.SubName & ")"
CurrentDb.Execute strSQL, dbFailOnError

End Sub

Open in new window


Thank you, in advance, for you help!
0
Megin
Asked:
Megin
  • 4
  • 2
  • 2
2 Solutions
 
Rey Obrero (Capricorn1)Commented:
check the name of the table and the names of the fields, make sure they match the names of the fields in table "SubTaskOrders" .

if you have included the AutoNumber field in your insert sql, remove it
0
 
MeginAuthor Commented:
I have included an AutoNumber field, but that is the primary key for the table and is connected to other forms and tables. I don't want/can't to remove it. Is there any other way to handle this error?

However, is there some way to get that number to automatically add the next number other than using AutoNumber?
0
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Also, if those are Text fields you need to enclose them in single quotes:

strSQL = "INSERT INTO SubTaskOrders(TOID, StoNo, [StoName]) VALUES (" & Me.cmbTaskOrder & ", '" & Me.SubNO & "', '" & Me.SubName & "')"

This assumes that StoNo and StoName are TEXT fields, and that TOID is a Numeric field.

What rey means is that if TOID is an AutoNumber field, you should not write to that but instead let Access handle that value.
0
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
MeginAuthor Commented:
My whole form just starting thowing errors, so I am creating it over again. It is going to take me a little bit to get back to this. I might not be able to try it until tomorrow.

So, don't worry. I will answer this.
0
 
MeginAuthor Commented:
I am getting a syntax error for the Insert statement now.

Here is my code:

Private Sub btnAddRecord_Click()
Dim strSql As String
strSql = ("INSERT INTO SubTaskOrders(" & Me.cmbTaskOrder & ", " & Me.txtStoNo & ", " & Me.txtStoName & ")")
CurrentDb.Execute strSql, dbFailOnError

End Sub

Open in new window


Some of the names have changed because I am using a new form now, but I want it to do the same thing.
0
 
Rey Obrero (Capricorn1)Commented:
you have to include the NAMES of the FIELDS in your Insert query


Dim strSql As String
strSql = "INSERT INTO SubTaskOrders(NameOffield, StoNo, stoName)  Values (" & Me.cmbTaskOrder & ", " & Me.txtStoNo & ", '" & Me.txtStoName & "')"
CurrentDb.Execute strSql, dbFailOnError


change "NameOffield" with the actual name of field for the TaskOrder
0
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
And (again) if those fields are Text, you must enclose them in in single or double quotes:

strSql = "INSERT INTO SubTaskOrders(NameOffield, StoNo, stoName)  Values (" & Me.cmbTaskOrder & ", '  " & Me.txtStoNo & " '  , '   '" & Me.txtStoName & "  ' )"

I've added some whitespace so you can see what I'm talking about.

In your code, there is also an extra ) at the end ... cap fixed that for you.
0
 
MeginAuthor Commented:
OMG! I am so embarrassed!  I can't believe I left that out of the code! I know better....I think I was just frustrated at the end of the day.

The code is working now.

Thank you for your help and your patience!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

  • 4
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now