BUG: "ข้อผิดพลาดไวยากรณ์ในแทรก INTO..." บน Recordset.Update ADO

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 189220 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

อาการ

เมื่อคุณเรียกใช้เมธอด AddNew จากนั้น ทำเรียกวิธีการปรับปรุงของชุดระเบียนเป็น ข้อผิดพลาดต่อไปนี้ถูกส่งกลับ:
ผู้ Microsoft OLE DB ให้สำหรับข้อผิดพลาดของโปรแกรมควบคุม ODBC '80040e21'
[Microsoft][odbc Microsoft Access 97 โปรแกรมควบคุม] ข้อผิดพลาดทางไวยากรณ์ในการแทรกลงในรายงาน
การใช้ version4.00.4202.00 โปรแกรมควบคุม ODBC เข้าถึงของ Microsoft หรือในภายหลัง เกิดข้อผิดพลาด:
ข้อผิดพลาดขณะเรียกใช้ ' -2147467259(80004005) ':
[Microsoft][odbc Microsoft ในการเข้าถึงโปรแกรมควบคุม]ข้อผิดพลาดไวยากรณ์ในแทรกไว้ในรายงาน

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากต่อไปนี้เป็นจริง:
  • CursorType ถูก adOpenForwardOnly (0)
  • CursorLocation เป็น adUseServer
  • เขตข้อมูลถูกปรับปรุงมีช่องว่างในชื่อเขตข้อมูล
  • คุณกำลังใช้โปรแกรมควบคุม ODBC การเข้าถึงของ Microsoft
การเรียกวิธี AddNew และปรับปรุง บนเคอร์เซอร์ เอ็นต์เซิร์ฟเวอร์ ไปข้างหน้าอย่างเดียว ไม่มีการดำเนินการไม่ถูกต้อง วัตถุข้อมูล activex (ADO) compensates สำหรับปัญหานี้รหัส โดยการสร้างเป็นคำสั่ง INSERT เพื่อดำเนินการ เมื่อการ ADO สร้างคำสั่ง INSERT ได้ไม่จำกัดชื่อฟิลด์ ดังนั้น ฟิลด์ชื่อที่ประกอบด้วยช่องว่างสร้างข้อผิดพลาดทางไวยากรณ์

ตัวอย่างเช่น งบ INSERT ที่ถูกต้องจะเป็นดังนี้:
   INSERT INTO Table ([field with space]) Values(value)
				
ado สร้างรหัสต่อไปนี้:
   INSERT INTO Table (field with space) Values(value)
				

การแก้ไข

ต่อไปนี้เป็นวิธีแก้ปัญหาต่าง ๆ ที่เป็นไปได้:
  • ไม่สามารถใช้ช่องว่างในชื่อเขตในฐานข้อมูลของคุณ
  • ใช้ CursorLocation ของ adUseClient (3)
  • ไม่สามารถใช้ CursorType ของ adOpenForwardOnly (0), เช่น adOpenKeyset (1), adOpenDynamic (2), หรือ adOpenStatic (3)
  • ทำการดำเนินการ โดยการสร้างคำสั่งของคุณเอง INSERT ด้วยตัวคั่นในฟิลด์ชื่อ แทนการใช้วิธี AddNew และการปรับปรุง
  • ใช้ผู้ที่ Microsoft OLE DB ให้สำหรับเวอร์ชัน Jet 3.51 หรือ 4.0 แทนของผู้ที่ Microsoft OLE DB ให้ ODBC และโปรแกรมควบคุม ODBC เข้าถึงของ Microsoft

สถานะ

Microsoft ได้รับการยืนยันนี้จะเป็นปัญหาที่เกิดขึ้นในผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ที่ตำแหน่งเริ่มต้นของบทความนี้

คุณสมบัติ

หมายเลขบทความ (Article ID): 189220 - รีวิวครั้งสุดท้าย: 7 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Keywords: 
kbbug kbdatabase kbdriver kbjet kbmt KB189220 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:189220

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com