user2027275
user2027275

Reputation: 45

Argument is not optional?

Private Sub cmdAdd_Click()
'add data to table
CurrentDb.Execute = "INSERT INTO jscbb_dir2(ID,Lastname,FirstName, PrimA, Artea,LubNum,OfficeNum,OfficePhone,Email,LabPhone,stats)" & _
" VALUES(" & Me.Textid & ",'" & Me.TextLast & "','" & Me.TextFirst & "','" & Me.Textprima & "','" & Me.Textarea & "','" & Me.Textlabnum & _
"','" & Me.Textofficenum & "','" & Me.Textofficephone & "','" & Me.Textemail & "','" & Me.Textlabphone & "','" & Me.Textstatus & "')"

'refresh data is list on focus
jscbb_dirsub.Form.Requery

End Sub

Why am I getting an error on the last (Me.Textstatus)? I know this is a low-level question, but I need another pair of eyes, I've been looking at this for over an hour. The error is "Compile Error: Argument Not Optional"

Upvotes: 1

Views: 788

Answers (2)

user743382
user743382

Reputation:

Execute is a method, not a property. You don't use = between a method and its arguments, so

CurrentDb.Execute = "..."

should be

CurrentDb.Execute "..."

Upvotes: 0

Fionnuala
Fionnuala

Reputation: 91336

Consider parameters, they will be easier to debug.

Dim qdf As QueryDef
ssql = "INSERT INTO jscbb_dir2(ID,Lastname,FirstName,PrimA,Artea," _
     & "LubNum,OfficeNum,OfficePhone,Email,LabPhone,stats) " _
     & "VALUES([id],[last],[first],[prima],[area],[lab]," _
     & "[office],[phone],[email],[stat])"
Set qdf = CurrentDb.CreateQueryDef("", ssql)
qdf.Parameters("id") = Me.TextID
qdf.Parameters("last") = Me.Textlast
qdf.Parameters("first") = Me.Textfirst
qdf.Parameters("prima") = Me.Textprima
qdf.Parameters("area") = Me.Textarea
qdf.Parameters("lab") = Me.Textlabnum
qdf.Parameters("office") = Me.Textofficenumbet
qdf.Parameters("phone") = Me.Textofficephone
qdf.Parameters("email") = Me.Textemail
qdf.Parameters("stat") = Me.Textstatus

qdf.Execute dbFailOnError

Upvotes: 1

Related Questions