การแก้ไข Run-time error
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 291   6
URL.หัวข้อ / URL
การแก้ไข Run-time error

ผมอยากรบกวนถาม อ สุภาพ หรือ คนที่เคยแก้ปัญหาเหมือนกับที่ผมเจอได้ครับ ผมได้สร้างฟอร์มขึ้นมาใช้งาน ประกอบด้วย MainForm, subForm1, subForm2 โดยที่ On Current ของ subForm 1 ผมได้เขียนโค้ดเพื่อให้ requery ที่ฟอร์ม subForm2 เลือกเอาเฉพาะข้อมูลที่เกี่ยวข้องกับ current control ที่กำลังโฟกัสอยู่ ครับ ถ้าสั่งให้ฟอร์มทำงานก็จะไม่มีปัญหาอะไร แต่ถ้าเมื่อไร ที่เปลี่ยนไปเป็น Design view แล้วให้กลับมา Form View หรือ ปิดฟอร์มแล้วเปิดใหม่ โปรแกรมจะแสดงคำเตือน ว่า " Run-time error ' 2455' You entered an expression that has an invalid reference to the property form/report" ทุกครั้ง แต่พอกดปุ่ม end ก็จะแสดงฟอร์มได้ตามปกติ ไม่มีปัญหาอะไรเลย หรือ ถ้ากด Debug ก็จะไปชี้ให้เห็นตำแหน่งที่เกิด error ก็คือตำแหน่ง On Current ที่เขียนโค้ดไว้นั่นเอง ผมอยากจะขอคำแนะนำครับว่า จะเขียนโค้ดแก้ปัญหานี้อย่างไร หรือ เพิ่มโค้ดเข้าไปที่ตรงไหนอีกครับ ขอบคุณครับ

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

1 @R04681
รบกวนถามผู้รู้ผมก็เจอเหมือนกันครับ
1. ผมสร้าง MainForm, SubForm1, SubForm2
2. SubForm1, SubForm2 ใช้ Table tblOrderReceived เหมือนกัน แต่แสดงผลโดยSubForm1 ใช้มือป้อนและ SubForm2 ใช้ดึงข้อมูลเดิม
3. Private Sub SubForm1_AfterUpdate()
Form_SubForm2.Requery
End Sub
โดยที่ผมต้องการเมื่อ SubForm1 AfterUpdate ให้ Refresh SubForm2 ด้วย เพื่อแสดงผลรวมที่เปลี่ยนแปลงใน MainForm
4. เมื่อ SubForm1 AfterUpdate จะเกิด Error -> RunTime error 2465 Obiect required
5. ผนค้นดูคำถามที่อ้างถึงการเรียก field หรือ Object ในคำถามเก่า3-4คำถาม แต่ตัวอย่างนั้นก็นำมาใช้แล้วยัง error เหมือนเดิมครับ
ขอบคุณครับ
2 @R04688
ใช้ Access 2000 ทั้ง 2 คนหรือเปล่าครับ

ผมยังไม่เคยเจอปัญหานี้ครับ ผมไม่ได้ใช้ Access 2000 แล้ว เพราะมีปัญหากับผมค่อนข้างมาก

ลองลง Service Packs หรือยังครับ

หรืออาจใช้

On Error Resume Next

ไปปิดข้อความ Error เลยก็ได้ แต่ไม่ใช่เป็นการแก้ปัญหาที่ดีครับ
3 @R04732
อาจารย์ครับผมลองทำตามคำแนะนำแล้วยังเป็นเหมือนเดิม ครับ และตอนนี้ก็เปลี่ยนมาเป็น Acess XP ยังมีปัญหาเหมือนเดิมครับ
4 @R04733
ลองสร้างไฟล์ใหม่ แล้วโอน object ต่างๆ เข้าไป อาจจะทำให้ปัญหานั้นหายได้

หรือลองกำหนดให้เป็น 2002 Format ดูด้วยครับ
5 @R04736
สร้างไฟล์ใหม่และก็เปลี่ยน format เป็น 2002 ยังเหมือนเดิมครับ หรือว่าจะมีวิธีการเรียกใช้คำสั่งแบบอื่น แทน การเรียก requery ที่ On Current ครับ
ผมลองสั่งไม่ให้บรรทัดนี้ทำงานก็เปิดฟอร์มได้ปกติ เพียงแต่ว่าจะไม่ requery ให้ เหมือนที่ต้องการครับ
6 @R04737
ลองเอาโค้ดในส่วนที่ก่อปัญหามาดูก็ได้ครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1022s