Run Procedure ไม่ได้
กระทู้เก่าบอร์ด อ.Yeadram

 1,230   4
URL.หัวข้อ / URL
Run Procedure ไม่ได้

Run "FinCategory_AfterUpdate"
ผมเขียนตามเบื้องต้น แต่รันแล้วมันไม่ได้ครับ
ผมเขียนคำสั่งด้านบนไว้ ondblclick ของ control ตัวหนึ่งบน subform
มันขึ้นว่า can't fine the procedure "finCategory_Afterupdate" ผมก็ไม่รู้ว่าทำไมมันหาไม่เจอเหมือนกัน ทั้งที่ procedure ดังกล่าวก็มีอยู่
หรือว่าจะเป็นการเขียนบน subform
ใครรู้วิธีอ้างอิงช่วยทีครับ

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

1 @R08313
ตามความเข้าใจของผม (ซึ่งยังไม่ได้พิสูจน์อย่างรอบคอบนัก)

หากต้องการเรียกใช้ procedure ของฟอร์มอื่น หรือของ sub form

- ที่ฟอร์มเป้าหมาย ต้องสร้าง sub เป็นแบบ public
- ที่จะประมวลผลคำสั่ง ให้เรียกใช้ดังนี้
forms("ชื่อฟอร์มเป้าหมาย").ชื่อ public procedure

ถ้า sub ดังกล่าวมี อาร์กิวเมนต์ ต้องส่งไปด้วยทุกครั้งเช่น
เป้าหมายเขียน Public Sub FinCateory_BeforeUpdate(cancel as integer)


เวลาเรียกใช้จากที่อื่นต้อง
forms("ชื่อฟอร์มเป้าหมาย").FinCategory_BeforeUpdate 0

ไม่ต้องมีคำสั่งหรือคีย์เวิร์ดว่า Run หรือ Call ใดๆ เลยครับ
ให้เรียกใช้เสมือนการเรียกใช้ method ของฟอร์มนั้นๆ ได้เลย
2 @R08315
ได้ครับจะลองดู...

แต่ที่ต้องมี run เพราะว่าไม่ได้เรียกตรงหนะครับมีความจำเป็นต้องเรียกผ่าน string...

เอาแบบเต็มๆเลยนะครับ...
ผมเขียนคำสั่งดังกล่าวต่อเข้าไปใน OnDblClick ของทุก control หนะครับ
เป็น function กลางๆ โดยคำสั่งดังกล่าวเป็นส่วนเพิ่ม โดยให้ตรวจสอบว่า
Control ตัวดังกล่าวมี Procedure AfterUpdate หรือไม่ ถ้ามีให้ run Procedure After update ของ control ตัวนั้นด้วย

ซึ่งเบื้องต้นเขียนว่า run Screen.ActiveControl.Name & "_AfterUpdate"
...ก็ผลลัพท์ก็อย่างที่ได้ post ถามไว้หนะครับว่ามันไม่ออก ^_^
3 @R08317
ยังไม่ได้ครับ
4 @R08319
ถอดใจละ...

ใช้ Select Case เอาแทน ...control ที่มี after update ไม่เยอะมาก
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2839s