สวัสดีครับ ผมลองทำตัวอย่างการกรอกข้อมูลออโต้ไปยัง SubForm อัตโนมัติเมื่อมีการอัพเดทข้อมูลมีให้เลือก 2 แบบด้วยกัน
แบบที่1.ใช้การ Append ข้อมูลไปยัง Subform ครับ
SQL ของ ตัว Query มีดังนี้
INSERT INTO tblCabinetUse ( CIF )
SELECT tblCusMast.CIF
FROM tblCusMast INNER JOIN tblCabinetUse ON tblCusMast.CIF = tblCabinetUse.CIF;
โดยตั้งชื่อ Append Query ว่า AppeCIFMainToSub
หลังจากนั้นกำหนดเหตุการณ์ที่ตัว Control CIF บน ฟอร์มหลัก สถานะ AfterUpdate()
Private Sub CIF_AfterUpdate()
DoCmd.SetWarnings False
If Me.NewRecord Then
DoCmd.OpenQuery "AppeCIFMainToSub"
End If
End Sub
แล้วลองใส่รหัส CIF ดูครับมันจะเพิ่มที่ ช่อง CIF ของ SubForm ให้อัตโนมัติครับ
ไม่รู้ตรงตามที่ต้องการไหมนะครับลองดู
(ตัวอย่างด้านล่างครับ)
------------------------------------------------------------------------------------------
แบบที่ 2.ใช้คำสั่งอ้างอิงจาก SubForm ในเหตุการณ์ BeforeUpdate
ที่ SubForm ใส่คำสั่งดังนี้ครับ
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(Me.CIF) Or Me.CIF = " " Then 'ถ้า CIF ของ SubForm ไม่มีค่าใดๆ อยู่
Me.CIF = Me.Parent.Parent.CIF 'กำหนดใน CIF ของ SubForm อัพเดทตาม CIF ของ MainForm
End If
End Sub