2013-02-18 8 views
0

Я пытаюсь сделать вставку на событие нажатия кнопки, и я продолжаю получать ошибку времени выполнения отсутствующего оператора в выражении запроса, мой запрос выглядит следующим образом. Есть идеи?Ошибка выполнения 3075 не может понять это

Private Sub CmdAdd_Click() 
Dim strSql As String 

strSql = "INSERT INTO Current_Costs(PO_Number,Lineitemid,Capital_detail,CapitalID,GL_Number,Cost_Type,Cost_Center,Cost_cat,Item_Cost,PO_Date)" & _ 
" VALUES (" & Me.txtPONum & "','" & _ 
    Me.cmbCapDetail & "','" & _ 
    Me.cmbCapDetail.Column(1) & "','" & _ 
    Me.txtCapID & "','" & _ 
    Me.txtGLNum & "','" & _ 
    Me.cmbCostType & "','" & _ 
    Me.txtCostCen & "','" & _ 
    Me.cmbCostCat & "','" & _ 
    Me.txtCost & "','" & _ 
    Me.TxtPODate & "')" 

    DoCmd.RunSQL strSql 

У меня есть подобный запрос, который имеет тот же вопрос, и я не могу видеть проблему

CurrentDb.Execute ("UPDATE Current_Costs " & _ 
    "SET PO_Number='" & Me.txtPONum & "'" & _ 
    ",Lineitemid='" & Me.cmbCapDetail & "'" & _ 
    ",Capital_detail='" & Me.cmbCapDetail.Column(1) & "'" & _ 
    ",CapitalID='" & Me.txtCapID & "'" & _ 
    ",GL_Number='" & Me.txtGLNum & "'" & _ 
    ",Cost_Type='" & Me.cmbCostType & "'" & _ 
    ",Cost_Center='" & Me.txtCostCen & "'" & _ 
    ",Cost_cat='" & Me.cmbCostCat & "'" & _ 
    ",Item_Cost='" & Me.txtCost & "'" & _ 
    ",PO_Date='" & Me.TxtPODate & "'" & _ 
    "WHERE LineItemPOID=" & Me.txtID.Tag) 

редактировать Решенные

+1

Это ' "VALUES (" & Me.txtPONum & " ''" & _' коротка одна цитата, она должна быть'»VALUES ('» & Me.txtPONum & «',' '& _'. Но я не думаю, что это даст номер ошибки, которую вы цитируете. – Fionnuala

+0

спасибо, что дайте это попробовать – user1902540

+0

сработало спасибо – user1902540

ответ

1

Это

" VALUES (" & Me.txtPONum & "','" & _ 

короток одну цитаты, это должен быть

" VALUES ('" & Me.txtPONum & "','" & _ 

Написать SQL в строке, это делает его легче увидеть проблемы:

strSql = "UPDATE Current_Costs " & _ 
"SET PO_Number='" & txtPONum & "'" & _ 
",Lineitemid='" & cmbCapDetail & "'" & _ 
",Capital_detail='" & cmbCapDetail.Column(1) & "'" & _ 
",CapitalID='" & txtCapID & "'" & _ 
",GL_Number='" & txtGLNum & "'" & _ 
",Cost_Type='" & cmbCostType & "'" & _ 
",Cost_Center='" & txtCostCen & "'" & _ 
",Cost_cat='" & cmbCostCat & "'" & _ 
",Item_Cost='" & txtCost & "'" & _ 
",PO_Date='" & TxtPODate & "'" & _ 
" WHERE LineItemPOID=" & txtID 


Dim db As database 
Set db = CurrentDB 
db.Execute strsql dbFailOnError 

Вы отсутствовали пробел перед WHERE, и вы имели себе равных скобку.

Рассмотрим с помощью параметров: End of statement error

+0

спасибо за ответ, я сделал редактирование другого запроса с той же проблемой, и я не вижу ошибки – user1902540

Смежные вопросы