เงื่อนไขไม่บันทึกข้อมูลในฟอร์มหลักหากไม่มีข้อมูลในฟอร์มย่อย



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

16 มี.ค. 61 , 17:14:02
อ่าน 598 ครั้ง

prajak



จากรูป
- ฟอร์มหลักชื่อ POH จากตารางชื่อ POH
- ฟอร์มย่อยชื่อ POD Subform จากตารางชื่อ POD
ทั้ง2ตาราง link กันด้วยฟิวด์ที่ชื่อ PONumber ครับ

ความต้องการของผมคือ หากเราคีย์ข้อมูลที่ฟอร์มหลัก แต่ยังไม่ได้คีย์ข้อมูลลงในฟอร์มย่อย ไม่ต้องการให้มันบันทึกข้อมูลที่เราคีย์ลงในตารางของฟอร์มหลักครับ
ปัจจุบัน เวลาผมคีย์ข้อมูลลงในบางฟิวด์ของฟอร์มหลัก แล้วเกิดเปลี่ยนใจไปยกเลิกหรือกดเมนูอื่นออกจากหน้านี้ ข้อมูลที่กรอกก็จะบันทึกลงในตารางของฟอร์มหลักอัตโนมัติ อยากสร้างเงื่อนไขให้มันว่า หากไม่มีข้อมูลในฟอร์มย่อย ห้ามบันทึกข้อมูลฟอร์มหลักครับ รบกวนด้วยนะครับ

 

17 มี.ค. 61 , 15:01:32
ตอบกลับ #1

สันติสุข

จะไม่บันทึกข้อมูลในเมนฟอร์มถ้าไม่มีข้อมูลในซับฟอร์ม มันค้านกับการทำงานของ Access ครับ แนวคิดที่อาจทำได้ (ไม่รู้ว่าจะเกิดปัญหาอะไรหรือเปล่า เพราะไม่เคยทำ) ก็คือได้แค่กระโดดกลับมายัง PO เลขนั้นเท่านั้น โดยทุกครั้งที่สร้างเรคอร์ดใหม่บนเมนฟอร์ม หรือลบเรคอร์ดในซับฟอร์ม ก็จะเกิด AfterUpdate event บนเมนฟอร์มและ AfterDelConfirm event บนซับฟอร์มตามลำดับ ให้เขียนโค้ดเพื่อเก็บเลขที่ PO เอาไว้ในตัวแปรระดับโมดูล พอไปเรคอร์ดอื่น ซึ่งจะเกิด OnCurrent event บนเมนฟอร์ม ก็ให้เช็คว่าถ้า PO มีค่าและไม่มีเรคอร์ดใน POD ที่มีเลข PO เดียวกันกับที่เก็บไว้ ก็ให้กระโดดกลับไป แต่ถ้ามีแล้ว ก็ให้เคลียร์ตัวแปรนั้นทิ้ง โปรแกรมจะได้ไม่ต้องมาทดสอบ POD ตลอดเวลาครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

19 มี.ค. 61 , 15:50:09
ตอบกลับ #2

prajak

ถ้าอาจารย์แนะนำว่ามันค้ากับหลักการ access ผมว่าผมไม่ทำดีกว่ากลัวมีปัญหาทีหลังครับ เดี๋ยวลองหาแนวทางแบบอื่นดู อีกอย่างที่อาจายร์แนะนำวิธีมาผมดูแล้วว่าผมไม่น่าทำได้ครับ 555 ขอบคุณมากๆเลยครับ

 

19 มี.ค. 61 , 22:37:36
ตอบกลับ #3

สันติสุข

เราลองคิดกลับไปยังระบบที่ออก PO ด้วยมือลงกระดาษ ดูว่าระบบงานเดิมทำยังไง เราอาจต้องออกแบบฐานข้อมูลและการทำงานของโปรแกรมให้ล้อไปกับระบบเดิม เช่น ในวิถีทางการลงบัญชี ถ้านำเข้าระบบแล้วและพบว่ามีอะไรผิด ก็ต้องห้ามแก้ ห้ามลบ แต่เปลี่ยนสถานะว่ายกเลิกใบนั้นไป และออกใบใหม่เท่านั้น ลองถามฝ่ายบัญชีดูครับว่ามีกฏระเบียบทางบัญชีว่ายังไง เพราะอาจต้องรองรับให้ บ.ตรวจสอบบัญชี เข้ามาตรวจสอบข้อมูลได้ด้วยครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 


บอร์ดเรียนรู้ Access สำหรับคนไทย