Page 1 of 1

Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 10:23 am
by Serverchita
โปรแกรมแจ้งว่า

Microsoft Access cannot run the macro or callback function 'OnOpenForm'.
Make sure the macro or function exists and takes the correct parameters.

มีวิธีการแก้ไขปัญหานี้ไหมครับ ถ้าโปรแกรมขึ้นแจ้งแบบนี้ผมต้องเปลี่ยนไฟล์ใหม่ตลอดเลยครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 7:33 pm
by snasui
:D ลองตรวจสอบดูว่า Macro หรือ Procedure ใน VBE ที่ชื่อว่า OnOpenForm เขียนไว้อย่างไรครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 7:51 pm
by Serverchita
snasui wrote::D ลองตรวจสอบดูว่า Macro หรือ Procedure ใน VBE ที่ชื่อว่า OnOpenForm เขียนไว้อย่างไรครับ
Code ครับ

Code: Select all

Option Compare Database
Option Explicit
Public Sub OnOpenForm(ctl As IRibbonControl)
    Select Case ctl.ID
    Case "FormLogIn_": DoCmd.OpenForm "FmLogin", , , , , acDialog
    Case "upDate": DoCmd.OpenForm "UpData", , , , , acDialog
    Case "BtnAddStaff": DoCmd.OpenForm "FmDataStaff", , , , , acWindowNormal
    Case "btnAddTypeJob": DoCmd.OpenTable "DataTypesJob", acViewNormal
    Case "BtnAddAddress": DoCmd.OpenTable "DataAddress", acViewNormal
    Case "BtnExportInput": DoCmd.OpenForm "FmExportInput", , , , , acDialog
    Case "BtnExportOutput": DoCmd.OpenForm "FmExportOutput", , , , , acDialog
    Case "Report1": DoCmd.OpenForm "FmReportInput", , , , , acDialog
    Case "Report2": DoCmd.OpenForm "FmReportOutput", , , , , acDialog
     Case "Find1": DoCmd.OpenForm "FindJob", , , , , acWindowNormal
    Case "Summary1": DoCmd.OpenQuery "qSummaryInput", acViewNormal
    Case "Summary2": DoCmd.OpenQuery "qSummaryOutput", acViewNormal
    Case "Wip1": DoCmd.OpenQuery "qSumDataWip", acViewNormal
    Case "btnExit": DoCmd.RunCommand acCmdExit
    End Select
End Sub

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 8:02 pm
by snasui
:D Procedure นี้เขียนให้ตอบสนองต่อการคลิก Ribbon ซึ่งเป็นเมนูที่เขียนขึ้นมาเอง ถ้าไม่ใช้ก็ให้ Mark ทิ้งไปครับ ถ้าใช้อาจจะต้องเขียนตัวแปรเพิ่มเข้าไปก่อนโดยใช้ Onload Event ตรวจสอบว่ามีการเขียนไว้แล้วหรือไม่ครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 8:21 pm
by Serverchita
snasui wrote::D Procedure นี้เขียนให้ตอบสนองต่อการคลิก Ribbon ซึ่งเป็นเมนูที่เขียนขึ้นมาเอง ถ้าไม่ใช้ก็ให้ Mark ทิ้งไปครับ ถ้าใช้อาจจะต้องเขียนตัวแปรเพิ่มเข้าไปก่อนโดยใช้ Onload Event ตรวจสอบว่ามีการเขียนไว้แล้วหรือไม่ครับ
ได้ใช้ครับ จะสามารถเพิ่มตัวแปรได้อย่างไรครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 8:27 pm
by snasui
:D ลองศึกษาที่นี่เป็นตัวอย่างครับ http://stackoverflow.com/questions/6026 ... x-question

หรือค้นคำว่า onload iribbon control

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 8:28 pm
by Serverchita
หมายถึงตัวนี้หรือป่าวครับ (เอาแบบย่อมาครับ)

Code: Select all

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
     <ribbon startFromScratch="true">
          <tabs>
               <tab id="ControltoQC" label="หน้าหลัก">     
			<group id="Add0" label="Add Data">
			<button id="UpDate" size="large" label="อัพเดท Data" imageMso="ImportExcel" onAction="OnOpenForm"/>
 			</group>  
 
		</tab>
          </tabs>
     </ribbon>
</customUI>

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 8:32 pm
by snasui
:D อันนี้เป็น XML ยังไม่เขียนให้รองรับ onLoad จังมีปัญหากับการส่งตัวแปรไปให้ Excel เรียกใช้ ดูตัวอย่างที่ผมส่ง Link ไปให้ว่า onLoad เขียนไว้ตรงไหนใน XML แล้วเรียกใช้อย่างไรใน VBA ครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 8:57 pm
by Serverchita
เดี๋ยวจะส่งไฟล์ไปให้อาจารย์ช่วยตรวจสอบดูนะครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 9:01 pm
by snasui
:lol: ติดปัญหาใดให้สอบถามผ่านฟอรัมครับ หากผมได้ตอบไปแล้วให้นำสิ่งที่ผมตอบไปปรับใช้เสียก่อนด้วย ติดตรงไหนแล้วค่อยถามกันต่อครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 9:23 pm
by Serverchita
ผมลองปรับในไฟล์ที่มีปัญหาแล้วครับแต่ก็ยังไม่หายครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Tue Nov 22, 2016 10:11 pm
by snasui
:D ปรับตรงไหน อย่างไร ช่วยจับภาพหรือแนบไฟล์มาดูกันครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Wed Nov 23, 2016 12:50 pm
by Serverchita
ผมลองแก้ยังไงก็แก้ไม่ได้ครับมันขัน ตามรูปภาพตลอดเลยครับ

แล้วเบื้องต้นของการสร้าง เป็นเหมือนในลิ้งค์ไหมครับ http://www.accessribbon.de/en/?Access_- ... I_-_onLoad

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Wed Nov 23, 2016 2:09 pm
by Serverchita
snasui wrote::D ปรับตรงไหน อย่างไร ช่วยจับภาพหรือแนบไฟล์มาดูกันครับ
ผมลองสร้างไฟล์มาใหม่ครับ ก็ยังติดปํญหา onLoad เหมือนเดิมครับ

ตามไฟล์แนบครับ :D :D :D

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Wed Nov 23, 2016 10:02 pm
by snasui
:D ผมลองสร้างไฟล์ขึ้นมาใหม่แล้วนำ XML เดิมมาใช้ เขียน Code ให้ตอบสนองต่อการคลิกเมนูบน Ribbon สามารถใช้งานได้ตามไฟล์แนบ

ส่วนไฟล์เดิมไม่แน่ใจว่าติดขัดอย่างไรจึงไม่ยอม Load และไม่รู้จัก Control ที่เรียกผ่าน Ribbon ครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Thu Nov 24, 2016 10:04 am
by Serverchita
snasui wrote::D ผมลองสร้างไฟล์ขึ้นมาใหม่แล้วนำ XML เดิมมาใช้ เขียน Code ให้ตอบสนองต่อการคลิกเมนูบน Ribbon สามารถใช้งานได้ตามไฟล์แนบ

ส่วนไฟล์เดิมไม่แน่ใจว่าติดขัดอย่างไรจึงไม่ยอม Load และไม่รู้จัก Control ที่เรียกผ่าน Ribbon ครับ
ขอบคุณครับสำหรับไฟล์ใหม่

ไฟล์ที่อาจารย์เขียนมาให้ กับที่ผมเขียนก็เหมือนกันครับ ไฟล์ผมก็ใช้ได้ปกติ แต่จะมีบางครั้งที่อยู่ ๆ โปรแกรมก็ Error แบบแก้ไขไม่ได้เลยต้องเปลี่ยนไฟล์ใหม่เหมือนดังหัวข้อที่แจ้งไปครับ (เกี่ยวกันไหมครับว่าไฟล์ถูกเปิดพร้อมกันหลาย User จึงอาจทำให้ไฟล์ Error)

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Thu Nov 24, 2016 10:16 pm
by snasui
Serverchita wrote:เกี่ยวกันไหมครับว่าไฟล์ถูกเปิดพร้อมกันหลาย User จึงอาจทำให้ไฟล์ Error
:D คิดว่าไม่น่าจะเกียวกับการเปิดพร้อมกันหลายคน เพราะผมเปิดคนเดียวก็มีปัญหาว่าไม่รู้จัก Ribbon ครับ

Re: Access แจ้ง Error แก้ไขยังไงครับ

Posted: Fri Nov 25, 2016 1:05 pm
by Serverchita
snasui wrote:
Serverchita wrote:เกี่ยวกันไหมครับว่าไฟล์ถูกเปิดพร้อมกันหลาย User จึงอาจทำให้ไฟล์ Error
:D คิดว่าไม่น่าจะเกียวกับการเปิดพร้อมกันหลายคน เพราะผมเปิดคนเดียวก็มีปัญหาว่าไม่รู้จัก Ribbon ครับ
:D :D ผมคงต้องเปลี่ยนไฟล์เรื่อย ๆ เอาเหมือนเดิมล่ะครับทีนี้