2013-07-12 112 views
0

對於初學者,我幾乎沒有VBA代碼的知識。我在這裏要做的是從窗體和子窗體中獲取信息,並將其作爲新記錄輸入到被設置爲子窗體的記錄源的表中。訪問VBA - 運行時錯誤'3075'

錯誤代碼讀取:運行時錯誤 '3075':

語法錯誤(缺少運算符)查詢表達式一般金屬(CUBEX)'。

另外,我很抱歉它是多麼混亂。我誠實地試圖複製我在YouTube視頻中看到的那種代表我想要做的事情。

CurrentDb.Execute "INSERT INTO workingorders(customer, partname, partnumber, metal, grade, unitweight, Process, subcontract, MoldDescription, moldlocation, specialconcerns, shippinginst, datereq, orderdate, qtyordered, qtycast) " & _ 
" VALUES(" & Me.customer & ", '" & Me.partname & "','" & Me.partnumber & "','" & Me.metal & "','" & Me.grade & "','" & Me.unitweight & "','" & Me.Process & "','" & Me.subcontract & "','" & Me.MoldDescription & "','" & Me.moldlocation & _ 
Me.specialconcerns & "','" & Me.shippinginst & "','" & Me.datereq & "','" & Me.orderdate & "','" & Me.qtyordered & "','" & Me.qtycast & "')" 
+2

這可能不是Access錯誤,實際上是一個SQL錯誤。將動態SQL存儲到變量中並提供實際查詢。或者直接打印到您的直接窗口:用'debug.print'替換'CurrentDb.Execute'。其他人幾乎不可能調試您提供的內容。 –

+0

我想讓閱讀更容易,但我不知道您剛剛要求我在那裏做什麼。 –

+0

如果您想要在VBA中進行多行查詢,則需要將&_添加到除最後一行之外的所有行。重新格式化您的代碼,如果沒有發生。另外,如果日期字段是日期而不是字符串,請用#替換單引號。 – Lisa

回答

3

這部分涉及我: ' 「& Me.moldlocation & _ Me.specialconcerns &」'

它看起來像你缺少線抑制之前關閉的引號。任何時候當你看到「&_」時,它都會告訴代碼你正在換一個新行,但是在代碼運行時抑制這個換行符。您通常需要你這樣做之前,就像在其他線路抑制器做的目的是請大家合上報價: qtycast)「& _」 VALUES(

因此,簡而言之,給這一個鏡頭:

CurrentDb.Execute "INSERT INTO workingorders(customer, partname, partnumber, metal, grade, unitweight, Process, subcontract, MoldDescription, moldlocation, specialconcerns, shippinginst, datereq, orderdate, qtyordered, qtycast) " & _ 
" VALUES(" & Me.customer & ", '" & Me.partname & "','" & Me.partnumber & "','" & Me.metal & "','" & Me.grade & "','" & Me.unitweight & "','" & Me.Process & "','" & Me.subcontract & "','" & Me.MoldDescription & "','" & Me.moldlocation "'," & _ 
"'" & Me.specialconcerns & "','" & Me.shippinginst & "','" & Me.datereq & "','" & Me.orderdate & "','" & Me.qtyordered & "','" & Me.qtycast & "')" 

因爲我不知道你的數據,我只是提醒你,任何文本需要用單引號(即「‘& Me.grade &’」)和任何這是一個INT不封閉不需要單引號(即「& Me.customer &」),只要確保一個你的變量是相應的封閉還是會導致錯誤。

如果這回答你的問題,請不要忘記給答案一個複選標記。謝謝!