สอบถามเรื่อง Error Execution....
กระทู้เก่าบอร์ด อ.Yeadram

 1,254   5
URL.หัวข้อ / URL
สอบถามเรื่อง Error Execution....

เรียนอาจารย์

ผมใช้ Runtime Access 2003 Run โปรแกรม แล้วขึ้น Error ตามรูปครับ



เข้าโปรแกรมในส่วนอื่นๆ ทำงานได้หมดครับ
แต่จะเป็นตอน Import ข้อมูลเ้ข้าครับ
มันเกิดจากสาเหตุอะไรครับ แต่ว่าถ้าผมใช้ Ms Access Pro Run สามารถใช้งานและทำงานได้ปกติครับ พอดีว่าจะให้เครื่อง User ใช้งานบน Runtime Access ครับ
เลยจะเปลี่ยนมาใช้เป็น Ms Access เลยก็ไม่มี License ครับ
ขอบคุณครับ

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

1 @R21069
เวลาที่เราอยู่ใน Full Version เมื่อเกิด error ขึ้น ก็อย่างที่ทราบคือ Access มันจะหยุดและบอกเราว่ามีปัญหาที่บรรทัดไหนใน VBA editor แต่ใน Runtime Version ซึ่ง source code ได้ถูกลบทิ้งออกไปจากไฟล์ .mde หรือ .accde แล้ว   Access ก็ไม่สามารถบอกเราได้เหมือนอย่างใน Full Version   ดังนั้นสิ่งที่เราควรทำเป็นปกติก็คือ ต้องเขียน Error Handling Routine (คือ Routine ที่ถูกรันตามคำสั่ง On Error Goto xxx) เอาไว้ในทุก procedure ด้วย เพื่อที่ว่าเมื่อเกิด error ขึ้นใน procedure นั้นๆแล้ว จะได้แจ้งให้ผู้ใช้ทราบว่าปัญหาอยู่ในฟอร์ม/รายงาน/โมดูลอะไร ใน procedure อะไร ในบรรทัดที่เท่าไหร่   error code อะไร    error message คืออะไร    ไม่อย่างนั้น ก็จะเป็นอย่างที่พบนี่แหล่ะ ยากที่จะบอกได้ว่าเกิดปัญหาอะไรขึ้น   ในการพัฒนาโปรแกรมไม่ว่าจะด้วยภาษาอะไรก็ตาม การเขียน Error Handling Routine มีความสำคัญไม่น้อยไปกว่าการเขียนอัลกอรึธึมของเนื้องานเลย ควรศึกษาให้เข้าใจด้วยว่าจะต้องเขียน routine ที่ว่านี้อย่างไร

อีกอย่างคือ หลังจากเราเขียน/แก้ไขโค้ดใดๆแล้ว ควรทำการ Compile เสียด้วย เพราะบางทีอาจมีโค้ดที่ผิดแฝงอยู่ เวลามันรันแล้ว อาจเกิด error แต่มันกลับฟ้องไม่ตรงจุด หรือฟ้องในบรรทัดที่ไม่ได้มีอะไรผิดแทนก็ได้ จะทำให้เราเสียเวลามาก

2 @R21075
ขอบคุณอาจารย์ครับ

ผมทำในส่วนของ Compile แล้ว
และจะลองเขียน Error Handling Routine ตามอาจารย์แนะนำครับ

ขอบคุณครับ
3 @R21076
เรียนอาจารย์ครับ

Error Handling Routine

เขียนยังไงครับ เข้าไปดูตาม google งงครับ คงรบกวนอาจารย์แนะนำหน่อยครับ

ปุ่่มที่สั่งแล้ว Error มีดังนี้ครับ อ่อลืมบอกไปครับปุ่มใช้สำหรับ Import File เข้าตารางครับ

Private Sub CMD1_Click()

    ExcelImport

    CurrentProject.Connection.Execute "delete * from iERP1 Where Nz([F2]) = ''"     

        Me.Refresh
End Sub
'**************************************************************************************
'พั่งชั่น Import ครับ และมีอีกตัวคือ GetOpenFile ตัวนี้ผม Coppy มาคงไม่น่ามีปัญหาครับ

Function ExcelImport()
Dim pth As String
pth = GetOpenFile
If pth <> "" Then
Application.DoCmd.TransferSpreadsheet acImport, , "IERP1", pth, True
Else
MsgBox "คุณยกเลิกการนำเข้าข้อมูล"
End If
End Function
'**************************************************************************************
จากตรงนี้ผมจะเขียนเช็คใส่ตรงไหน ยังไงครับ Error Handling Routine
ขออาจารย์ยกตัวอย่างให้ผมหน่อยครับ จะได้กลับไปเขียนทุกๆ procedure
ขอบคุณอีกครั้งครับ
4 @R21079
ถ้าอธิบายคงเท่ากับเขียนหนังสือ 1 บทได้ เอาตัวอย่างไปดูแล้วกันนะครับ
http://www.thai-access.com/yeadram_view.php?topic_id=4308
5 @R21080
ขอบคุณครับอาจารย์
พอจะได้แล้วครับ ลองเขียนตามอาจารย์เลยครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.4899s