กรอกข้อมูลตัวอักษรไม่ได้
กระทู้เก่าบอร์ด อ.Yeadram

 1,627   4
URL.หัวข้อ / URL
กรอกข้อมูลตัวอักษรไม่ได้

คือว่ากรอกข้อมูลลง textbox แล้วมันเก็บข้อมูลตัวอักษรไม่ได้ เวลาที่กดบันทึกก็จะขึ้น msgbox ให้กรอกอีกทีนึงค่ะ แต่ถ้ากรอกเป็นตัวเลขจะไม่มีปัญหานะค่ะ เพราะอะไรหรอค่ะ
ปล.หนูเขียนใน vba นะค่ะ
DoCmd.GoToRecord acDataForm, Me.name, acFirst
DoCmd.RunSQL "Insert into Daily_Report(Emp_ID,Daily_Date,Daily_Time,Description,Work,Flag) values(" & txtempid & ", " & txtDate & ", " & txttime & ", " & txtdesc & ", " & txtwork & ", " & txtflag & ")"

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R02652
รบกวนถามเพิ่มด้วยนะค่ะว่า ถ้าจะเปลี่ยนจาก txtwork เป็นการเก็บข้อมูลจากตัวแปรชื่อ works แทนต้องแก้ยังไงค่ะ ไม่ค่อยเข้าใจ vba เท่าไหร่ค่ะ รบกวนหน่อยนะค่ะ ขอบคุณค่ะ
2 @R02658
สิ่งแรกที่อยากให้แก้ไขคือ http://www.thai-access.com/yeadram_view.php?topic_id=467

สิ่งต่อมา ... ใน SQL Statement ค่าคงที่ที่เป็นเท็กซ์ ต้องถูกครอบด้วยเครื่องหมาย double quote (") หรือ single quote (') แต่ถ้าจะใช้ double quote จะยุ่งยากหน่อยเพราะ double quote เป็น string delimited ในภาษา VB/VBA อยู่แล้ว ดังนั้นแล้ว ภาษา VB/VBA จึงได้กำหนดว่า ให้ใส่ double quote 2 ตัวติดกันใน string เพื่อให้ตีความเป็น double quote 1 ตัวใน string แทน และคอนโทรลต่างๆที่อยู่บนหน้าฟอ์ม เราควรเขียนอ้างอิงให้ชัดเจนถูกต้อง โดยให้ใช้ Me. นำหน้าคอนโทรลเพื่อบอกว่าเป็นคอนโทรลของฟอร์มที่เป็นเจ้าของของโค้ดที่กำลังทำงานบรรทัดนี้อยู่ หรืออาจจะอ้างโดยรูปแบบเต็มๆ Forms("ชื่อฟอร์ม"). ดังนั้นจึงได้เป็น

DoCmd.RunSQL "Insert into Daily_Report(Emp_ID, Daily_Date, Daily_Time, Description, Work,Flag) values (""" & me.txtempid & """, .......

เพิ่มเติมว่า ค่าคงที่ที่เป็นวันที่สำหรับฟิลด์วันที่ ก็จะใช้เครื่องหมาย # เป็น date delimited ด้วย เช่น #12-Jan-2009# หรือ #01/12/2009#

ส่วนตัวแปล works ก็เขียน works แทน me.txtwork ไปได้เลย
3 @R02659
ขอบคุณค่ะ

ถูกต้องไหมคะ
4 @R02661
ใช้ได้ ถูกต้องแล้วครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2735s