GobWeravong wrote: Tue Mar 09, 2021 11:10 am
พอผม click ที่ปุ่ม combo หรือ view code มันจะวิ่งไปให้สร้างที่ Private Sub ComboBox_Change() พอผมเปลี่ยนชื่อ เป็น Private Sub DAY_GotFocus() และคีย์ตาม code ด้านล่างครบถ้วน แต่พอ view code ระบบมันก็ยังคงยืนยันไปที่ Private Sub ComboBox_Change() ตลอดเลยครับ

ต้อง
ไม่ใช้ ComboBox_Change หรือ
เลิกที่จะใช้ Event นี้ในการ Add Item ให้ตัวเองครับ ผมอธิบายมาหลายรอบ กรุณาอ่านทบทวนให้เข้าใจครับ
ถ้าใช้ ComboBox_Change เพื่อสั่งให้ทำงานอย่างอื่นเช่น Run Code ใด ๆ หรือไป
Add Item ให้กับ ComboBox อื่น สามารถใช้ได้ตามปกติ
GobWeravong wrote: Tue Mar 09, 2021 11:10 am
ส่วนเรื่อง AddItem ตามที่คุณ snasui แนะนำมา พอจะเข้าใจแล้วครับ มันคือการเพิ่มหัวข้อใน dropdrop และผมไปนำค่าใน dropdrop เพิ่มไปเรื่อยๆ พอคลิค dropdown มันก็จะเพิ่มทวีคูณไปเรื่อยๆครับ ดังนั้นจะต้องหาคำสั่งใหม่ทดแทน add item
ไม่ใช่ต้องไปหาคำสั่งอื่นในการ Add Item ให้กับ ComboBox
แต่ต้องหา Event อื่น ของ Object อื่นในการ Add Itemให้กับ ComboBox นี้ ไม่ใช้ใช้ ComboBox_Change() ของตัวมันเองในการ Add Item ให้ตัวเอง เพราะเมื่อเลือกรายการ มันจะ Add Item เข้าไปอีกวนไปเช่นนี้ไม่รู้จบ
การที่ Double Click แล้วไปยัง Change Event ของ Object นั้น ๆ ถือเป็นเหตุการณ์ปกติ ที่เป็นเช่นนี้เนื่องจากโปรแกรมต้องการอำนวยความสะดวกใหู้ผู้ใช้ แต่ไม่ได้หมายความว่าต้องสั่งให้ทำงานภายใต้คำสั่งนั้นอย่างเดียว เราจะไม่ใช้มันก็ได้ถ้าไม่ตรงกับความต้องการที่จะใช้งาน เราสามารถเพิ่มปุ่มใด ๆ เข้ามาช่วย เมื่อคลิกแล้วค่อย Add Item ให้กับ ComboBox นี้เป็นต้น
อย่างเช่นกรณีนี้เราจะใช้ Change Event ของมันมาเพิ่มรายการให้ตัวมันเองย่อมไม่ตรงวัตถุประสงค์ของการใช้งาน เพราะเราแค่ต้องการเลือกรายการใน ComboBox แล้วให้ไปทำงานอย่างอื่น ไม่ใช่เลือกรายการแล้วมีการเพิ่มรายการต่อท้ายรายการเดิมเข้าไปอีก