กระทู้เก่าบอร์ด อ.Yeadram
1,668 1
URL.หัวข้อ /
URL
combo box ตัวที่ 2 ไม่แสดง ข้อมูล
combo box ตัวที่ 2 ไม่แสดง ข้อมูล
ผมสร้างตาราง 3 ตาราง
ตารางที่ 1 ชื่อ t_data เพื่อเก็บข้อมูล มี field : id_data , id_brand, id_model
ตารางที่ 2 ชื่อ t_brand เก็บ ข้อมูล ของ brand มี field : id_brand , BrandName
ตารางที่ 3 ชื่อ t_medel เก็บ ข้อมูล ของ model มี field : id_model , id_brand, ModelName , specmodel
โดยจะต้องนำไปสร้าง combo box ใน sub form ทั้ง 2 อัน โดยที่ ฟอร์มหลักชื่อ f_main1 , ฟอร์มย่อยชื่อ f_sub1
combo box 1 ชื่อ cbobrand สร้างจาก ตารางที่ 2 เพื่อนำ id_brand ไปเก็บไว้ที่ ตารางที่ 1 ใน field id_brand
combo box 2 ชื่อ cbomodel สร้างจาก ตารางที่ 3 เพื่อนำ id_medel ไปเก็บไว้ที่ ตารางที่ 1 ใน field id_model
ซึ่งความต้องการคือ ให้ combo box 2 แสดงเฉพาะข้อมูล model ที่ เป็นของ brand name นั้นๆ หลังจากเลือก brand แล้ว
ผมสร้าง text box ขึ้นมาให้ชื่อ txtbrand เพื่อรับข้อมูลจาก combo box 1
ใน text box เขียน =Forms!f_main1!f_sub1.Form!cbobrand.column(0)
เพื่อนำไปใช้อ้างอิง ในตารางที่ 3 เพื่อให้ combo box 2 แสดงข้อมูลเฉพาะ model ของ brand ที่เลือกไว้
ซึ่งใน Row Source ของ combo box 2 เขียน code คือ
SELECT t_model.id_medel, t_model.id_brand, t_model.MedelName FROM t_model WHERE (((t_model.id_brand)=Forms!f_main1!f_sub1.Form!txtbrand)) ORDER BY t_model.MedelName;
เกิดปัญหา ที่ combo box 2 คือ
1.เมื่อเลือก brand แล้ว combo box 2 ไม่แสดงข้อมูล model ต้อง กด F9 ถึงจะ แสดงข้อมูล medel
2 .ลองใส่ Code ที่ combo box ก็ไม่แสดงข้อมูลเหมือนเดิม
Private Sub cbomodel_AfterUpdate()
Me.Refresh
End Sub
3. หลังจาก กด F9 ให้ combo box 2 แสดงข้อมูล แล้วเลือก model แล้ว ไปดูในตารางที่ 1 ก็มีข้อมูลที่เลือกไว้ ปิดฟอร์ม และเปิด ฟอร์มใหม่อีกครั้ง ในช่อง combobox 2 ก็ไม่แสดงข้อมูล model ที่เลือกไว้ทั้งที่ในตารางมีการเก็บข้อมูลแล้ว ต้องกด F9 อีก
4.ลองเลือน record ถัดๆ ไป พอกลับมาที่ record เดิม ในช่อง combo box 2 ก็ไม่แสดงข้อมูล model ที่เลือกไว้เหมือนเดิมครับ
ต้องแก้ไขอย่างไรดีครับ
ผมสร้างตาราง 3 ตาราง
ตารางที่ 1 ชื่อ t_data เพื่อเก็บข้อมูล มี field : id_data , id_brand, id_model
ตารางที่ 2 ชื่อ t_brand เก็บ ข้อมูล ของ brand มี field : id_brand , BrandName
ตารางที่ 3 ชื่อ t_medel เก็บ ข้อมูล ของ model มี field : id_model , id_brand, ModelName , specmodel
โดยจะต้องนำไปสร้าง combo box ใน sub form ทั้ง 2 อัน โดยที่ ฟอร์มหลักชื่อ f_main1 , ฟอร์มย่อยชื่อ f_sub1
combo box 1 ชื่อ cbobrand สร้างจาก ตารางที่ 2 เพื่อนำ id_brand ไปเก็บไว้ที่ ตารางที่ 1 ใน field id_brand
combo box 2 ชื่อ cbomodel สร้างจาก ตารางที่ 3 เพื่อนำ id_medel ไปเก็บไว้ที่ ตารางที่ 1 ใน field id_model
ซึ่งความต้องการคือ ให้ combo box 2 แสดงเฉพาะข้อมูล model ที่ เป็นของ brand name นั้นๆ หลังจากเลือก brand แล้ว
ผมสร้าง text box ขึ้นมาให้ชื่อ txtbrand เพื่อรับข้อมูลจาก combo box 1
ใน text box เขียน =Forms!f_main1!f_sub1.Form!cbobrand.column(0)
เพื่อนำไปใช้อ้างอิง ในตารางที่ 3 เพื่อให้ combo box 2 แสดงข้อมูลเฉพาะ model ของ brand ที่เลือกไว้
ซึ่งใน Row Source ของ combo box 2 เขียน code คือ
SELECT t_model.id_medel, t_model.id_brand, t_model.MedelName FROM t_model WHERE (((t_model.id_brand)=Forms!f_main1!f_sub1.Form!txtbrand)) ORDER BY t_model.MedelName;
เกิดปัญหา ที่ combo box 2 คือ
1.เมื่อเลือก brand แล้ว combo box 2 ไม่แสดงข้อมูล model ต้อง กด F9 ถึงจะ แสดงข้อมูล medel
2 .ลองใส่ Code ที่ combo box ก็ไม่แสดงข้อมูลเหมือนเดิม
Private Sub cbomodel_AfterUpdate()
Me.Refresh
End Sub
3. หลังจาก กด F9 ให้ combo box 2 แสดงข้อมูล แล้วเลือก model แล้ว ไปดูในตารางที่ 1 ก็มีข้อมูลที่เลือกไว้ ปิดฟอร์ม และเปิด ฟอร์มใหม่อีกครั้ง ในช่อง combobox 2 ก็ไม่แสดงข้อมูล model ที่เลือกไว้ทั้งที่ในตารางมีการเก็บข้อมูลแล้ว ต้องกด F9 อีก
4.ลองเลือน record ถัดๆ ไป พอกลับมาที่ record เดิม ในช่อง combo box 2 ก็ไม่แสดงข้อมูล model ที่เลือกไว้เหมือนเดิมครับ
ต้องแก้ไขอย่างไรดีครับ
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
Time: 0.2308s
SELECT t_model.id_medel, t_model.id_brand, t_model.MedelName FROM t_model WHERE (((t_model.id_brand)=Forms!f_main1!f_sub1.Form!txtbrand)) ORDER BY t_model.ModelName;