กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
359 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
2 @R04688
ใช้ Access 2000 ทั้ง 2 คนหรือเปล่าครับ
ผมยังไม่เคยเจอปัญหานี้ครับ ผมไม่ได้ใช้ Access 2000 แล้ว เพราะมีปัญหากับผมค่อนข้างมาก
ลองลง Service Packs หรือยังครับ
หรืออาจใช้
On Error Resume Next
ไปปิดข้อความ Error เลยก็ได้ แต่ไม่ใช่เป็นการแก้ปัญหาที่ดีครับ
ผมยังไม่เคยเจอปัญหานี้ครับ ผมไม่ได้ใช้ Access 2000 แล้ว เพราะมีปัญหากับผมค่อนข้างมาก
ลองลง Service Packs หรือยังครับ
หรืออาจใช้
On Error Resume Next
ไปปิดข้อความ Error เลยก็ได้ แต่ไม่ใช่เป็นการแก้ปัญหาที่ดีครับ
3 @R04732
อาจารย์ครับผมลองทำตามคำแนะนำแล้วยังเป็นเหมือนเดิม ครับ และตอนนี้ก็เปลี่ยนมาเป็น Acess XP ยังมีปัญหาเหมือนเดิมครับ
4 @R04733
ลองสร้างไฟล์ใหม่ แล้วโอน object ต่างๆ เข้าไป อาจจะทำให้ปัญหานั้นหายได้
หรือลองกำหนดให้เป็น 2002 Format ดูด้วยครับ
หรือลองกำหนดให้เป็น 2002 Format ดูด้วยครับ
5 @R04736
สร้างไฟล์ใหม่และก็เปลี่ยน format เป็น 2002 ยังเหมือนเดิมครับ หรือว่าจะมีวิธีการเรียกใช้คำสั่งแบบอื่น แทน การเรียก requery ที่ On Current ครับ
ผมลองสั่งไม่ให้บรรทัดนี้ทำงานก็เปิดฟอร์มได้ปกติ เพียงแต่ว่าจะไม่ requery ให้ เหมือนที่ต้องการครับ
ผมลองสั่งไม่ให้บรรทัดนี้ทำงานก็เปิดฟอร์มได้ปกติ เพียงแต่ว่าจะไม่ requery ให้ เหมือนที่ต้องการครับ
6 @R04737
ลองเอาโค้ดในส่วนที่ก่อปัญหามาดูก็ได้ครับ
Time: 0.0921s
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 เหมือนเดิมครับ
ขอบคุณครับ