ต้องการให้ค่าที่ป้อนใน field ของmain form ป้อนให้อัตโนมัติในฟิวด์ของ Sub form



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

20 ม.ค. 61 , 09:43:06
อ่าน 1004 ครั้ง

prajak

ผมทำฟอร์ม PO มา1ฟอร์ม โดยในฟอร์มจะมีอยู่2ส่วน คือ PO Header (main form) และ PO Details (sub form)
PO Header มี Table ชือ POHead
PO Details มี Table ชื่อ PODetails
รบกวนสอบถามว่าในช่อง Discount ของ Main form ถ้าผมต้องการให้เวลาเราป้อนตัวเลข(%สวนลด)ลงไป ให้ค่าที่ป้อนวิ่งไปกรอกในช่อง Discount ของ sub form ทุกช่องโดยอัตโนมัติ สามารถทำได้อย่างไรครับ


 

20 ม.ค. 61 , 12:08:36
ตอบกลับ #1

pizza_p

ที่ช่อง Discount ของ Main Form กำหนด AfterUpdate event ประมาณนี้

Private Sub Discount_AfterUpdate()

DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE PODetails SET PODetails.Discount = [Quantity] * [Unit Price] * " & Me.Discount / 100 & " WHERE PODetails.[PO Number] = '" & Me.[PO Number] & "';"
DoCmd.SetWarnings True

Me.ชื่อSubForm.Refresh

End Sub

 
โพสต์นี้ได้รับคำขอบคุณจาก: chaoclub

20 ม.ค. 61 , 12:31:02
ตอบกลับ #2

PookPuy

ขอถามเพิ่มเติมครับ
คือที่ PO Header (main form) และ PO Details (sub form) เห็นมีการผูกลิงก์ PO Number(หรือเปล่าน้อ..)
แล้วเรามาใช้วิธีผูกลิงก์เพิ่มได้ใหมครับ

 

20 ม.ค. 61 , 12:58:38
ตอบกลับ #3

prajak

คุณ pizza_p ครับ ผมต้องการแค่ให้ช่อง Discount ของ Subform แสดง % เหมือนกับช่อง Discount ของ main form แค่นั้นเองนะครับ ไม่แน่ใจว่าที่คุณ pizza_p แนะนำมาถูกต้องมั้ยครับ

 

20 ม.ค. 61 , 13:22:39
ตอบกลับ #4

pizza_p

ก็แก้เป็นแบบนี้แทนครับ

DoCmd.RunSQL "UPDATE PODetails SET PODetails.Discount = " & Me.Discount & " WHERE PODetails.[PO Number] = '" & Me.[PO Number] & "';"

 

20 ม.ค. 61 , 14:14:13
ตอบกลับ #5

prajak

ยังทำไม่ได้เลยครับ งง 555 เพิ่งหัดทำครับ

 

20 ม.ค. 61 , 14:20:16
ตอบกลับ #6

prajak

ขึ้น error ตามนี้ครับ


 

20 ม.ค. 61 , 14:50:13
ตอบกลับ #7

pizza_p

ต้องเป็นชื่อของ subform control นะครับ ไม่ใช่ชื่อของตาราง

แต่ถ้าเป็นชื่อของ subform control แล้ว ลองเปลี่ยนเป็นแบบนี้ครับ

Me.ชื่อsubform.Form.Refresh
« แก้ไขครั้งสุดท้าย: 20 ม.ค. 61 , 14:57:03 โดย pizza_p »

 

20 ม.ค. 61 , 15:52:43
ตอบกลับ #8

prajak

ลบ table และ form แล้วสร้างใหม่ ก็ยังไม่ได้ครับ compile database ก็ผ่าน แต่ตอนกรอกข้อมูลในช่อง discount ของ main form เสร็จ error เลยครับ








 

20 ม.ค. 61 , 16:21:41
ตอบกลับ #9

pizza_p

ให้ตรวจสอบดังนี้
1. ตาราง PODescription มีฟิลด์ชื่อ Discount% หรือไม่ เป็นฟิดล์ชนิดใด (Text, Number) กรณีที่มีสัญลักษณ์ประหลาดในชื่อฟิลด์แนะนำให้ใส่วงเล็บใหญ่คร่อมไว้ เช่น PODescription.[Discount%]
2. ลำดับการใช้เครื่องหมายคำพูด  '  และ  "  ให้สังเกตุลำดับการใช้ดีๆนะครับอาจจะมีการใส่สลับกันได้ หรือกรณีที่ Discount% เป็นฟิลด์แบบ Text จะต้องใช้ PODescription.[Discount%] = '" & Me.discount & "' WHERE ...

 

24 ม.ค. 61 , 08:38:05
ตอบกลับ #10

prajak

แก้ไขด้วยการออกแบบโปรแกรมใหม่ ใช้การ query แทน ได้แล้วครับ ขอบคุณสำหรับคำแนะนำดีๆครับ

 


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