Page 1 of 1

เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Thu Jan 16, 2025 4:52 pm
by Xcelvba
เรียนผู้รู้ทุกท่าน

การเพิ่มข้อมูลใน sub form ไม่มาครับ

ถ้าเพิ่มใน frm_main --> add Data จะสามารถ เพิ่ม ProductID และรายละเอียดของ fitting ได้

ทีนี้ผมจะสร้าง หน้าใหม่ขึ้นมาว่า frm-show คือโชว์ ProductID ทั้งหมดดังรูปครับ และ สร้าง action ให้ไป link กับ subform ข้อมูลเก่าๆ ก็มาครับ ปัญหาคือ
1.ในช่องสีเขียวสามารถแก้ได้
2. ในช่องสีแดง (เพิ่มข้อมูล fitting ใหม่) ข้อมูลจะไม่มาครับ พอไปเช็คใน ฐานข้อมูลจริงๆ จะพบว่าไม่พบ ProductID ซึ่งตรงนี้ผมไม่ทราบว่าจะแก้ไขอย่างไร
ขอบคุณครับ
ขออนุญาติ แนบลิ้งครับ

https://drive.google.com/file/d/1_UjH_E ... sp=sharing

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Sat Jan 18, 2025 8:12 am
by snasui
:D ลอง Copy โปรแกรมเดิม ตัดให้เหลือเฉพาะสิ่งที่เป็นปัญหา Zip แล้วแนบมาดูกันครับ

Link ที่ให้ดาวน์โหลดมันไม่รับรองถึงอันตรายหากดาวน์โหลดลงมาใช้งานครับ

จากคำอธิบายและข้อสังเกตที่แจ้งมา หากข้อมูลไม่ถูกบันทึกเข้า Table หลัก มันก็ไม่ควรจะนำมาแสดงได้ ก็ต้องตามไปแก้ไขปัญหานั้นเสียก่อนครับ

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Sat Jan 18, 2025 8:45 am
by Xcelvba
ตอนนี้ตัดเฉพาะปัญหาแล้วครับ แต่ยังแนบใน ระบบไม่ได้ ข้อมูลก็ตัดออกหมดแล้วครับ
จากคำอธิบายและข้อสังเกตที่แจ้งมา หากข้อมูลไม่ถูกบันทึกเข้า Table หลัก มันก็ไม่ควรจะนำมาแสดงได้ ก็ต้องตามไปแก้ไขปัญหานั้นเสียก่อนครับ
ในส่วนนี้ผมไม่แน่ใจเหมือนกันครับ เพราะว่าผมใช้ sub form เพิ่มได้ตามปกติ แต่ พอทำหน้า form แต่แยกมาเพื่อแก้ไขกลับไม่ได้ครับ หาข้อมูลแล้วก็ยังไม่สามารถทำได้เลยครับ

https://drive.google.com/file/d/1--waLx ... sp=sharing

อันนี้ผม zip แล้วแชร์ใน GD ให้ครับ อ.

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Sun Jan 19, 2025 7:14 am
by snasui
:D ผมได้เปิดดูแล้ว เข้าใจว่าต้องการเพิ่มข้อมูลเข้าไปใน Sub Form

ปกติ Sub Form มันจะดึงข้อมูลมาจาก Table ที่สร้าง Relation กับ Main Form เอาไว้มาแสดง การเพิ่มข้อมูลใด ๆ ใน Sub Form มันจึงบังคับว่าจะต้องสัมพันธ์กับ Main Form ไม่เช่นนั้นจะขัดกับกฎ Relation ครับ

ไม่ทราบว่าข้อมูลที่พยายามเพิ่มนั้นคือข้อมูลใด เพื่อเพิ่มเข้าไปแล้วต้องการให้แสดงข้อมูลที่ Table ใดบ้าง :?:

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Mon Jan 20, 2025 8:24 am
by Xcelvba
ที่ผมพยายามจะเพิ่มข้อมูลไปในนั้น คือ การแก้ไขข้อมูล ย่อยในแต่ละ product ครับ ซึ่ง ขออนุญาต อธิบายก่อนครับ
1 Product จะมีหลาย fitting ซึ่งที่ผมกล่าวไปข้างต้น ปัญหาจะไม่เกิดถ้ากรณี เพิ่ม product กับ fitting พร้อมกันในทีเดียว ใน frm_product ครับ

แต่จะมีกรณีที่อยากจะแก้ไข ผมจะสร้างฟอร์มขึ้นมา 1 ฟอร์ม (frm-show) คือการเอา product มาเรียงกัน แล้วสร้าง action เพื่อ edit fitting ย่อยของแต่ละ product ครับ

พอกด action ดังกล่าว fitting ของแต่ละ product ก็มาครบทุกอย่าง แต่ปัญหาคือ เวลาจะเพิ่ม fitting ข้อมูลไปแล้ว พอกลับไปเช็ค ข้อมูลใน product นั้นๆ fitting ไม่ได้ถูกเพิ่มขึ้นมาด้วยครับ

จากข้างต้น สรุปว่า ข้อมูลที่อยากจะเพิ่ม ข้อมูล fitting ในแต่ละ product ครับ และตารางข้อมูลที่ต้องการเพิ่ม คือ tbl_ProductFitting ครับ

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Mon Jan 20, 2025 8:56 am
by snasui
Xcelvba wrote: Mon Jan 20, 2025 8:24 am เวลาจะเพิ่ม fitting ข้อมูลไปแล้ว พอกลับไปเช็ค ข้อมูลใน product นั้นๆ fitting ไม่ได้ถูกเพิ่มขึ้นมาด้วยครับ
:D ได้ลองเพิ่มการ Save แล้วหรือไม่ครับ เช่น สร้างปุ่มสำหรับ Save แล้วเขียน Code กำกับสำหรับการ Save

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Mon Jan 20, 2025 9:55 am
by Xcelvba
ไม่แน่ใจว่าต้องเขียนโค็ดในการ save อย่างไรครับ เพราะเวลาเพิ่ม เพิ่มในรูปที่ 1 (subform) แต่เวลาข้อมูลแสดงมีข้อมูล แต่ไม่ช่อง ProductID เป็นช่องว่างตามรูปที่ 2 ครับ

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Mon Jan 20, 2025 10:10 am
by snasui
:D ต้องเข้าหน้า Design ของ Form นั้น สร้างปุ่มแล้วเขียน Code กำกับ ส่วนจะเขียนอย่างไรลองศึกษามาเองก่อน ติดแล้วค่อยสอบถามกันต่อครับ

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Mon Jan 20, 2025 10:41 am
by Xcelvba
ผมเพิ่มปุ่มแล้วครับ กด save แล้ว แต่ได้เหมือนเดิมครับ productID ไม่มาครับ

Re: เพิ่มข้อมูลใน sub ฟอร์มไม่ได้

Posted: Mon Jan 20, 2025 11:53 am
by snasui
:D เขียนคำสั่งหรือกำหนดค่าให้กับปุ่มไว้อย่างไร เกิด Error อะไรขึ้นบ้างหรือไม่ ช่วยแจ้งรายละเอียดมาด้วยเสมอครับ

ตัวอย่างคำแนะนำจาก Copilot

คำแนะนำในการเพิ่มปุ่มบันทึกและคำสั่งในฟอร์มสำหรับการเพิ่มรายการใหม่:

1. เปิดฟอร์มในมุมมองการออกแบบ:
- คลิกขวาที่ฟอร์มที่คุณต้องการแก้ไขและเลือก `มุมมองการออกแบบ`

2. เพิ่มปุ่มคำสั่ง:
- ในแท็บ `ออกแบบ`, คลิกที่เครื่องมือ `ปุ่ม`
- คลิกที่ฟอร์มในตำแหน่งที่คุณต้องการวางปุ่ม
- ตัวช่วยสร้างปุ่มคำสั่งจะปรากฏขึ้น เลือก `การดำเนินการบันทึก` และจากนั้นเลือก `บันทึกระเบียน`
- ทำตามตัวช่วยสร้างเพื่อเสร็จสิ้นการตั้งค่าและตั้งชื่อปุ่ม (เช่น `cmdSave`)

3. เพิ่มโค้ด VBA สำหรับการบันทึกแบบกำหนดเอง:
- เปิดตัวแก้ไข VBA โดยกด `Alt + F11`
- ในตัวแก้ไข VBA, ค้นหาฟอร์มที่คุณกำลังทำงานอยู่ใน `Project Explorer`
- ดับเบิลคลิกที่ฟอร์มเพื่อเปิดหน้าต่างโค้ด
- เพิ่มโค้ด VBA ต่อไปนี้เพื่อจัดการการบันทึก:

Code: Select all

```vba
Private Sub cmdSave_Click()
    On Error GoTo ErrorHandler

    ' บันทึกระเบียนปัจจุบัน
    DoCmd.RunCommand acCmdSaveRecord

    ' ลอจิกแบบกำหนดเองหลังการบันทึก
    MsgBox "บันทึกระเบียนเรียบร้อยแล้ว!", vbInformation

    Exit Sub

ErrorHandler:
    MsgBox "เกิดข้อผิดพลาดในการบันทึก: " & Err.Description, vbCritical
End Sub
```
โค้ดนี้จะบันทึกระเบียนปัจจุบันและแสดงกล่องข้อความยืนยันการบันทึก หากมีข้อผิดพลาด จะมีการแสดงข้อความข้อผิดพลาด

คุณสามารถปรับแต่งข้อความหรือเพิ่มลอจิกเพิ่มเติมตามต้องการได้