กระทู้เก่าบอร์ด อ.Yeadram
1,155 4
URL.หัวข้อ /
URL
Run-time error '13' กับการRunningNo
สวัสดีครับ พอดีผมได้ลองนำโค้ดจากกระทู้419 มาทดลองใช้ และเปลี่ยนให้เป็นรูปแบบ function ได้ผลลัพธ์ออกมาดังนี้
1. สามารถรันได้ปกติสำหรับฟอร์มที่สร้างมาจาก table (Data>RecordSource>Table)โดยตรงโดยใส่โค้ดดังกล่าวไว้ที่
Form_Open > Docmd.gotorecord,,acnewrec > me.inspectno = autoNo
2. แต่พอใช้กับฟอร์มที่สร้างมาจาก query ที่มีหลาย table (Data>RecordSource>Query)และให้ทำงานในลักษณะเดิม
Form_Open > Docmd.gotorecord,,acnewrec > me.inspectno = autoNo กลับขึ้น Run-time error'13' Type mismatch
และแสดงบรรทัดที่ error ในส่วนนี้
If IsNull(DMax("Val(Mid([InspectNo],6))", "tblInspection", "Left([InspectNo],4) = '" & strDate & "'")) Then
ซึ่งก็คือบรรทัด If IsNull(DMax("Val(Mid([ID],6))", "tblSell13", "Left([ID],4) = '" & strDate & " '")) Then
ในโค้ดจากกระทู้
ผมไม่ทราบว่าสาเหตุเกิดจากอะไร และจะพอมีวิธีแก้ไขปัญหานี้ได้อย่างไรครับ
1. สามารถรันได้ปกติสำหรับฟอร์มที่สร้างมาจาก table (Data>RecordSource>Table)โดยตรงโดยใส่โค้ดดังกล่าวไว้ที่
Form_Open > Docmd.gotorecord,,acnewrec > me.inspectno = autoNo
2. แต่พอใช้กับฟอร์มที่สร้างมาจาก query ที่มีหลาย table (Data>RecordSource>Query)และให้ทำงานในลักษณะเดิม
Form_Open > Docmd.gotorecord,,acnewrec > me.inspectno = autoNo กลับขึ้น Run-time error'13' Type mismatch
และแสดงบรรทัดที่ error ในส่วนนี้
If IsNull(DMax("Val(Mid([InspectNo],6))", "tblInspection", "Left([InspectNo],4) = '" & strDate & "'")) Then
ซึ่งก็คือบรรทัด If IsNull(DMax("Val(Mid([ID],6))", "tblSell13", "Left([ID],4) = '" & strDate & " '")) Then
ในโค้ดจากกระทู้
ผมไม่ทราบว่าสาเหตุเกิดจากอะไร และจะพอมีวิธีแก้ไขปัญหานี้ได้อย่างไรครับ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R22439
เกิด error ที่บรรทัด me.inspectno = autoNo หรือบรรทัด If IsNull(... กันแน่ครับ ถ้าทำ debug เป็น ก็น่าจะเจอว่าปัญหาเกิดที่ไหนได้อย่างง่ายๆครับ
2 @R22440
เกิด error ที่ if isnull(...) ครับขึ้นแถบสีเหลือง
การทำ debug นี่ไม่ทราบว่าทำอย่างไรเหรอครับ พอดีผมทำไม่เป็นจริงๆ กด Ctrl+G แล้วไปต่อยังไงเหรอครับ

การทำ debug นี่ไม่ทราบว่าทำอย่างไรเหรอครับ พอดีผมทำไม่เป็นจริงๆ กด Ctrl+G แล้วไปต่อยังไงเหรอครับ
3 @R22441
ค่อนข้างแปลกๆ ผมว่าให้ไปเมนู Debug แล้ว Compile โปรแกรมดูก่อนครับ มันอาจฟ้องว่ามีอะไรผิดจากจุดอื่นก็ได้ เพราะเวลาโค้ดเขียนผิดแล้วเราไม่ได้ Compile เพื่อเช็คก่อน พอรันโค้ด บางทีมันไปโผล่ว่าผิดที่จุดอื่น ทั้งๆที่จุดนั้นไม่มีอะไรผิดเลยก็เป็นได้ครับ
ส่วนการ debug ต้องอ่านจาก Help File หรือไม่ก็จาก https://msdn.microsoft.com/en-us/library/gg251590.aspx ครับ เพราะมีวิธีให้เรา debug ได้หลายอย่าง รายละเอียดพอสมควรครับ เขียนในที่นี้ไม่ไหวครับ
ส่วนการ debug ต้องอ่านจาก Help File หรือไม่ก็จาก https://msdn.microsoft.com/en-us/library/gg251590.aspx ครับ เพราะมีวิธีให้เรา debug ได้หลายอย่าง รายละเอียดพอสมควรครับ เขียนในที่นี้ไม่ไหวครับ
4 @R22442
ลอง Debug แล้ว Compile ดูแล้วก็ไม่ได้อยู่ดี แต่ไม่เป็นไรครับ ขอบคุณสำหรับคำแนะนำในการ debug นะครับ คุณ สันติสุข
Time: 0.3331s