:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Access and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Xcelvba
Silver
Silver
Posts: 592
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#1

Post 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
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30935
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#2

Post by snasui »

:D ลอง Copy โปรแกรมเดิม ตัดให้เหลือเฉพาะสิ่งที่เป็นปัญหา Zip แล้วแนบมาดูกันครับ

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

จากคำอธิบายและข้อสังเกตที่แจ้งมา หากข้อมูลไม่ถูกบันทึกเข้า Table หลัก มันก็ไม่ควรจะนำมาแสดงได้ ก็ต้องตามไปแก้ไขปัญหานั้นเสียก่อนครับ
Xcelvba
Silver
Silver
Posts: 592
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#3

Post by Xcelvba »

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

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

อันนี้ผม zip แล้วแชร์ใน GD ให้ครับ อ.
User avatar
snasui
Site Admin
Site Admin
Posts: 30935
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#4

Post by snasui »

:D ผมได้เปิดดูแล้ว เข้าใจว่าต้องการเพิ่มข้อมูลเข้าไปใน Sub Form

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

ไม่ทราบว่าข้อมูลที่พยายามเพิ่มนั้นคือข้อมูลใด เพื่อเพิ่มเข้าไปแล้วต้องการให้แสดงข้อมูลที่ Table ใดบ้าง :?:
Xcelvba
Silver
Silver
Posts: 592
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#5

Post 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 ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30935
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#6

Post by snasui »

Xcelvba wrote: Mon Jan 20, 2025 8:24 am เวลาจะเพิ่ม fitting ข้อมูลไปแล้ว พอกลับไปเช็ค ข้อมูลใน product นั้นๆ fitting ไม่ได้ถูกเพิ่มขึ้นมาด้วยครับ
:D ได้ลองเพิ่มการ Save แล้วหรือไม่ครับ เช่น สร้างปุ่มสำหรับ Save แล้วเขียน Code กำกับสำหรับการ Save
Xcelvba
Silver
Silver
Posts: 592
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#7

Post by Xcelvba »

ไม่แน่ใจว่าต้องเขียนโค็ดในการ save อย่างไรครับ เพราะเวลาเพิ่ม เพิ่มในรูปที่ 1 (subform) แต่เวลาข้อมูลแสดงมีข้อมูล แต่ไม่ช่อง ProductID เป็นช่องว่างตามรูปที่ 2 ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30935
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#8

Post by snasui »

:D ต้องเข้าหน้า Design ของ Form นั้น สร้างปุ่มแล้วเขียน Code กำกับ ส่วนจะเขียนอย่างไรลองศึกษามาเองก่อน ติดแล้วค่อยสอบถามกันต่อครับ
Xcelvba
Silver
Silver
Posts: 592
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#9

Post by Xcelvba »

ผมเพิ่มปุ่มแล้วครับ กด save แล้ว แต่ได้เหมือนเดิมครับ productID ไม่มาครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30935
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#10

Post 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
```
โค้ดนี้จะบันทึกระเบียนปัจจุบันและแสดงกล่องข้อความยืนยันการบันทึก หากมีข้อผิดพลาด จะมีการแสดงข้อความข้อผิดพลาด

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