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

Thai Access Webboard => ห้อง Ms Access อื่นๆ => ข้อความที่เริ่มโดย: MyDDT ที่ 31 ก.ค. 61 , 22:22:31

หัวข้อ: ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: MyDDT ที่ 31 ก.ค. 61 , 22:22:31
จากรูป ข้อ 1 คือสั่งให้เปิดฟอร์มย่อยเมื่อจะบันทึกพนักงานที่จะเข้าอบรม แล้วเลือกรายชื่อพนักงานที่สร้างจาก query พอเลือกเสร็จ เมื่อบันทึกแล้ว อยากให้มันลงไปอยู่ในฟอร์มย่อม ข้อ 2 พร้อมกับผลคะแนนเมื่ออบรมเสร็จ (ผลอบรมจะบันทึกเพิ่มเติมทีหลังหรืออาจจะบันทึกการอบรมพร้อมผลเมื่ออบรมเรียบร้อย)

ช่วยแนะนำทีค่ะ ว่าต้องทำอย่างไรบ้าง
(https://www.thai-access.com/tiupld/images/pcqkik-1f5f34.jpg)
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: ปิ่นณรงค์ ที่ 01 ส.ค. 61 , 10:39:00
ถ้า attach ฟอร์มและตารางนั้นมา ผมทำตัวอย่างให้ได้ครับ
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: MyDDT ที่ 02 ส.ค. 61 , 10:33:00
เดี๋ยวแยกไฟล์ก่อนแล้วจะแนบให้ตอนเย็นนะคะ
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: MyDDT ที่ 03 ส.ค. 61 , 08:53:00
ถ้า attach ฟอร์มและตารางนั้นมา ผมทำตัวอย่างให้ได้ครับ


แนบไฟล์ให้แล้วนะคะอาจารย์ ขออภัยที่ช้าค่ะ
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: ปิ่นณรงค์ ที่ 03 ส.ค. 61 , 10:05:42
ลองดูตัวอย่างนี้นะครับ
(https://www.thai-access.com/tiupld/images/pcvbrb-8a0aba.JPG)
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: MyDDT ที่ 03 ส.ค. 61 , 12:37:39
ขอบคุณค่ะอาจารย์ เดี๋ยวจะลองปรับใช้ดูค่ะ

พอดีมีอีกคำถามค่ะอาจารย์ ถ้าเกิดว่าต้องการให้ช่องเวลาเข้างาน เมื่อพนักงานมาเกิน 8.00 น. ให้ขึ้นเป็นสีแดงในช่องซัพฟอร์ม ต้องลงโค้ดแบบไหนคะ

ตัวอย่างที่แนบมาให้คือ เมื่อวานหนูลองประกาศตัวแปรดูแล้วฝังโค้ด แต่โค้ดมันมีฝังอยู่แล้วที่อาจารย์เคยทำให้อ่ะค่ะ (ตามที่ลูกศรชี้) ก็เลยไม่ทราบว่ามันจะต้องแทรกอย่างไรอีกค่ะ แล้วก็ไม่รู้ว่าทำถูกหรือป่าวด้วย

(https://www.thai-access.com/tiupld/images/pcve7y-199b85.jpg)
(https://www.thai-access.com/tiupld/images/pcve8k-6e5aac.png)
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: ปิ่นณรงค์ ที่ 03 ส.ค. 61 , 13:57:52
เปลี่ยน ฟอร์มย่อยเป็นแบบ Continuous Forms
นะครับ จากข้อมูลเก่า textbox ชื่อ txtin
ใช่ไหมครับ
งั้นให้เปิดฟอร์มย่อยขึ้นมา ใส่โค้ดใน Event OnPaint ไปดังนี้
(https://www.thai-access.com/tiupld/images/pcvi12-322fe0.JPG)
โค๊ด: [Select]
Private Sub Detail_Paint()
Dim lngRed As Long
lngRed = RGB(255, 0, 0)
If Me.txtin > #8:00:00 AM# Then
Me.txtin.ForeColor = lngRed
Else
Me.txtin.ForeColor = Me.txtOut.ForeColor
End If
End Sub

ผลที่ได้
(https://www.thai-access.com/tiupld/images/pcvjnk-2fc645.JPG)
อย่าลืมเปลี่ยน Subform เป็น Continuous Forms ก่อนนะครับ เพราะแบบ DATA SHEET  ไม่สามารถกำหนดได้
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: MyDDT ที่ 03 ส.ค. 61 , 15:05:19
ได้แล้วค่ะอาจารย์ สำหรับตัวแดง ขออีกนิสนึงนะคะ (จะต้องไปพรีเซ็นต์แล้วค่ะ) จากภาพที่แนบให้อ่ะค่ะ ต่อจากฟอร์มอบรม ที่เปิดขึ้นมาแอดรายชื่อพนักงานอ่ะค่ะ ถ้าเราต้องการดึงชื่อที่มีอยู่ในตารางอยู๋แล้วโดยใช้ Combobox เลือกรหัสพนักงาน แล้วช่องที่เหลือ พวก ชื่อ-นามสกุล-แผนก ก็จะโชว์มาตามที่เลือกรหัสพนักงานไว้ จากนั้นก็เซฟลงไปในฟอร์มย่อยนี่ ต้องทำไงบ้างคะ (ฟอร์มย่อยของหนูเซฟลง Table ไม่ได้เซฟลง Query เหมือนตัวอย่างที่แนบให้ตอนแรกนะคะ พอดีลืมอ่าค่ะ) ตอนนี้มันโชว์รหัสขึ้นมาแล้ว แต่ไม่สามารถคลิกได้อ่ะค่ะ (ในตารางรายชื่อพนักงาน หนูเพิ่มฟิลด์รหัสการอบรมเอาไว้บันทึกการอบรมแล้วค่ะ)

(https://www.thai-access.com/tiupld/images/pcvkwj-5af835.png)
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: ปิ่นณรงค์ ที่ 03 ส.ค. 61 , 15:25:12
ตัวอย่างครับ
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: MyDDT ที่ 03 ส.ค. 61 , 15:45:56
ขอบคุณมากเลยนะคะอาจารย์  ไว้ถ้าติดปัญหาจะมาสอบถามอีกทีนะคะ  :meaw:
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: MyDDT ที่ 03 ส.ค. 61 , 17:13:31
ตัวอย่างครับ

อาจารย์ช่วยอธิบาย Sub Code ตัวนี้หน่อยได้มั้ยคะ พอดีทำแล้วมันติดบัคอ่ะค่ะ ต้องแก้อย่างไรคะ

(https://www.thai-access.com/tiupld/images/pcvr1x-b879f2.png)

(https://www.thai-access.com/tiupld/images/pcvrhd-310d3f.jpg)
หัวข้อ: : ทำให้บันทึกการอบรมโดยใช้ฟอร์มย่อย
เริ่มหัวข้อโดย: ปิ่นณรงค์ ที่ 03 ส.ค. 61 , 19:40:12
 Error1 ดูโพสนี้ผมแนะนำไว้แล้วhttps://www.thai-access.com/index.php?topic=440.msg1944#new

error2
ตรง Form! แก้เป็น Forms! ข้างหลังเหมือนเดิม