CurrentDb.Execute Insert into error รบกวนหน่อยคร้าบ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

25 เม.ย. 61 , 15:57:02
อ่าน 610 ครั้ง

Kxess

CurrentDb.Execute Insert into error รบกวนหน่อยคร้าบ
« เมื่อ: 25 เม.ย. 61 , 15:57:02 »
สอบถาม จากโค้ดตัวอย่างของผม มันผิดตรงไหนครับ

อ้างถึง
error 3134
Syntax error in INSERT INTO statement.

น่าจะผิดที่จุดเล็ก ๆ แต่ลองแก้หลายรอบแล้ว error ตลอดครับ ไม่รู้จริง ๆ ผิดตรงไหน  :confused:

โค๊ด: [Select]
CurrentDb.Execute "INSERT INTO Credit_Note ( CN_ID, CN_Customer_ID, CN_INV_Refer1, CN_Status, CN_Main_Contact_Name, CN_Main_contact_Tel, CN_PO_No, CN_Quotation_No, CN_Full_Address, CN_VAT_Total, CN_VAT_Percent, CN_Sub_Total, CN_Net_Price, CN_Discount_Price, CN_Discount_Percent, CN_Date, CN_Payment_Type) " _
& "VALUES ('" & getCN_ID & "', " & Me![Customer_ID] & ", '" & Me![Bill_ID] & "', " & CnStatus & ", '" & Nz(Me![O_Main_Contact_Name], "") & "', '" & Nz(Me![O_Main_Contact_Tel], "") & "', '" & Nz(Me![PO_ID], "") & "', '" & Nz(Me![Quotation_ID], "") & "', '" & NewCN_Full_Address & "', " & Nz(Me![Bill_VAT_Total], "") & ", " & Nz(Me![Bill_VAT_Percent], "") & ", " & Nz(Me![Bill_Sub_Total], "") & ", " & Nz(Me![Bill_Net_Price], "") & ", " & Nz(Me![Bill_Discount_Price], "") & ", " & Nz(Me![Bill_Discount_Percent], "") & ", '" & Now() & "', '" & Nz(Me![Bill_Payment_Type], "") & "');"


ขอบคุณครับ

 

25 เม.ย. 61 , 16:43:04
ตอบกลับ #1

สันติสุข

> CurrentDb.Execute Insert into error รบกวนหน่อยคร้าบ
« ตอบกลับ #1 เมื่อ: 25 เม.ย. 61 , 16:43:04 »
ฟิลด์ที่มี Data Type เป็น Number หรือ Currency  เมื่อจะนำข้อมูลเข้าก็ต้องเป็นค่าตัวเลขไม่ก็เป็นคำว่า NULL จะเป็น SPACE หรือ Zero-Length String ไม่ได้ อย่างเช่นที่คุณเขียนว่า Nz(Me![Bill_VAT_Total], "") ถ้า [Bill_VAT_Total] ไม่มีค่า ก็จะกลายเป็น "" ไป คำสั่ง SQL ในส่วนนั้นก็จะออกมาเป็น ... , , ...  ซึ่งการเว้นว่างไม่มีค่าอะไรเลยระหว่างเครื่องหมาย , นั้น ไม่ถูก Syntax ครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

26 เม.ย. 61 , 11:55:09
ตอบกลับ #2

Kxess

> CurrentDb.Execute Insert into error รบกวนหน่อยคร้าบ
« ตอบกลับ #2 เมื่อ: 26 เม.ย. 61 , 11:55:09 »
ขอบคุณครับ

ถ้าไม่ใส่ Nz() แล้ว Bill_VAT_Total ไม่มีค่า มันจะเป็น NULL รึป่าวครับ
ผมเคยลองแบบไม่ใส่ Nz() ก็ไม่ผ่าน

เปลี่ยนใหม่เอา Nz() ออกแล้ว และไม่มี text ที่เป็นค่าว่างเลย
แต่มีแค่ Bill_Discount_Price(currency) / Bill_Discount_Percent(number) ที่มีค่า Null ซึ่งก็ไม่น่าจะ error
ส่วน Now() เขียน "... '" & Now() & "' ..." หรือ "..." & Now() & "..." ก็ยัง error เหมือนเดิม

โค๊ด: [Select]
CurrentDb.Execute "INSERT INTO Credit_Note ( CN_ID, CN_Customer_ID, CN_INV_Refer1, CN_Status, CN_Main_Contact_Name, CN_Main_Contact_Tel, CN_PO_No, CN_Quotation_No, CN_Full_Address, CN_VAT_Total, CN_VAT_Percent, CN_Sub_Total, CN_Net_Price, CN_Discount_Price, CN_Discount_Percent, CN_Date, CN_Payment_Type) " _
& "VALUES ('" & getCN_ID & "', " & Me![Customer_ID] & ", '" & Me![Bill_ID] & "', " & CnStatus & " , '" & Me![O_Main_Contact_Name] & "', '" & Me![O_Main_Contact_Tel] & "', '" & Me![PO_ID] & "', '" & Me![Quotation_ID] & "', '" & NewCN_Full_Address & "', " & Me![Bill_VAT_Total] & ", " & Me![Bill_VAT_Percent] & ", " & Me![Bill_Sub_Total] & ", " & Me![Bill_Net_Price] & ", " & Me![Bill_Discount_Price] & ", " & Me![Bill_Discount_Percent] & ", '" & Now() & "', '" & Me![Bill_Payment_Type] & "')"

ตึ๊บเลยครับ  :dizzy:

 

26 เม.ย. 61 , 15:32:24
ตอบกลับ #3

pizza_p

> CurrentDb.Execute Insert into error รบกวนหน่อยคร้าบ
« ตอบกลับ #3 เมื่อ: 26 เม.ย. 61 , 15:32:24 »
CurrentDb.Execute "INSERT INTO Credit_Note ( CN_ID, CN_Customer_ID, CN_INV_Refer1, CN_Status, CN_Main_Contact_Name, CN_Main_Contact_Tel, CN_PO_No, CN_Quotation_No, CN_Full_Address, CN_VAT_Total, CN_VAT_Percent, CN_Sub_Total, CN_Net_Price, CN_Discount_Price, CN_Discount_Percent, CN_Date, CN_Payment_Type) " _
& "VALUES ('" & getCN_ID & "', " & Me![Customer_ID] & ", '" & Me![Bill_ID] & "', " & CnStatus & " , '" & Me![O_Main_Contact_Name] & "', '" & Me![O_Main_Contact_Tel] & "', '" & Me![PO_ID] & "', '" & Me![Quotation_ID] & "', '" & NewCN_Full_Address & "', " & Me![Bill_VAT_Total] & ", " & Me![Bill_VAT_Percent] & ", " & Me![Bill_Sub_Total] & ", " & Me![Bill_Net_Price] & ", " & Me![Bill_Discount_Price] & ", " & Me![Bill_Discount_Percent] & ", Now(), '" & Me![Bill_Payment_Type] & "')"

หรือ
CurrentDb.Execute "INSERT INTO Credit_Note ( CN_ID, CN_Customer_ID, CN_INV_Refer1, CN_Status, CN_Main_Contact_Name, CN_Main_Contact_Tel, CN_PO_No, CN_Quotation_No, CN_Full_Address, CN_VAT_Total, CN_VAT_Percent, CN_Sub_Total, CN_Net_Price, CN_Discount_Price, CN_Discount_Percent, CN_Date, CN_Payment_Type) " _
& "VALUES ('" & getCN_ID & "', " & Me![Customer_ID] & ", '" & Me![Bill_ID] & "', " & CnStatus & " , '" & Me![O_Main_Contact_Name] & "', '" & Me![O_Main_Contact_Tel] & "', '" & Me![PO_ID] & "', '" & Me![Quotation_ID] & "', '" & NewCN_Full_Address & "', " & Me![Bill_VAT_Total] & ", " & Me![Bill_VAT_Percent] & ", " & Me![Bill_Sub_Total] & ", " & Me![Bill_Net_Price] & ", " & Me![Bill_Discount_Price] & ", " & Me![Bill_Discount_Percent] & "," & CDbl(Now()) & ", '" & Me![Bill_Payment_Type] & "')"
« แก้ไขครั้งสุดท้าย: 26 เม.ย. 61 , 15:34:52 โดย pizza_p »

 
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

26 เม.ย. 61 , 22:08:17
ตอบกลับ #4

สันติสุข

> CurrentDb.Execute Insert into error รบกวนหน่อยคร้าบ
« ตอบกลับ #4 เมื่อ: 26 เม.ย. 61 , 22:08:17 »
- ค่า NULL ต้องใช้คำว่า NULL  ไม่ใช่ปล่อยว่างๆ หรือเป็น "" หรือ " "
- ผมเขียน ... หมายถึงข้อความเดิมก่อนหน้าหรือตามหลัง ไม่ใช่ให้ใส่ ...
- ค่าวันที่ที่ใส่ใน SQL ต้องเป็นรูปแบบ #เดือน/วัน/ปีคศ.#
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: pirin, sjs, Kxess


บอร์ดเรียนรู้ Access สำหรับคนไทย