ใช้วิธีการเดียวกับการแสดง อำเภอ ตำบล นั้นละครับ เมื่อเรากดเลือก Geo แล้วพอจะเลือกจังหวัด เราก็กำหนดให้เลือก Geo_ID จากCombobox Cb_geography ที่เรากำหนด
วิธีการคือ
1.สร้าง Combobox เพิ่มตั้งชื่อว่า Cb_Geography โดยกำหนด RowSource ของ Cb_geography ดังนี้
SELECT tb_geography.GEO_ID, tb_geography.GEO_NAME FROM tb_geography;
2.ในส่วนของ Combobox Cb_Province ก็กำหนด Rowsource ดังนี้
SELECT tb_province.province_id, tb_province.Province_th, tb_province.GEO_ID FROM tb_province INNER JOIN tb_geography ON tb_province.geo_id = tb_geography.GEO_ID WHERE (((tb_province.GEO_ID)=[Forms]![Form1]![Cb_geography]));
ส่วน Code ให้แก้เป็นแบบนี้ครับ
Option Compare Database
Option Explicit
Private Sub Cb_geography_AfterUpdate()
Me.cb_province.Requery
Me.cb_province = Null
Me.cb_amphur = Null
Me.cb_district = Null
Me.txt_zipcode = Null
End Sub
Private Sub cb_province_AfterUpdate()
Me.cb_amphur.Requery
Me.cb_amphur = Null
Me.cb_district = Null
Me.txt_zipcode = Null
End Sub
Private Sub cb_province_GotFocus()
Me.cb_province.Requery
End Sub
Private Sub cb_amphur_AfterUpdate()
Me.cb_district.Requery
Me.cb_district = Null
Me.txt_zipcode = Null
End Sub
Private Sub cb_district_AfterUpdate()
Me.txt_zipcode = DLookup("post_code", "tb_district", "district_th= '" & Me.cb_district & "' AND amphur_id = " & Me.cb_amphur.Column(0, Me.cb_amphur.ListIndex))
End Sub
Private Sub cb_amphur_GotFocus()
Me.cb_amphur.Requery
End Sub
Private Sub cb_district_GotFocus()
Me.cb_district.Requery
End Sub
Private Sub Form_Load()
Me.Cb_geography.SetFocus
End Sub
สามารถดูตัวอย่างที่แก้ไข ด้านล่างครับ
โพสต์นี้ได้รับคำขอบคุณจาก: oraaoi