ผมได้ไฟล์ตัวอย่างพร้อมคำสั่ง VBA ในการทำแบบฟอร์มกรอกที่อยู่ที่สามารถเลือกรหัสไปรษณีย์ได้อัติโนมัติเมื่อพิมพ์ชื่อจังหวัด อำเภอ ตำบล เข้าไป ผมนำไปปรับใช้การทำทะเบียนประวัติสมาชิกในหน่วยงาน ได้ผลดีมากครับ ทำงานได้รวดเร็วขึ้น แต่ทางหัวหน้างานอยากให้เพิ่มช่องภูมิภาคถิ่นที่อยู่เข้าไปโดยอัตโนมัติเพื่อพิมพ์ชื่อจังหวัด โดยในมีไฟล์ geo_id อยู่แล้วใน tb_province และ tb_district ผมไม่มีความรู้ทางด้าน VBA นัก ลองเขียนคำสั่งเพิ่มเข้าไปคำสั่งที่มีอยู่เดิม
แต่ไม่สำเร็จ รบกวนช่วยนำทางให้ด้วยครับ ผมเพิ่มคอลัมน์ locate ในไฟล์ table1 แล้ว
คำสั่งเก่า...
Option Compare Database
Option Explicit
Private Sub Form_Load()
Me.cb_province.RowSource = "SELECT tb_province.province_id, tb_province.Province_th FROM tb_province;"
Me.cb_amphur.RowSource = "SELECT tb_amphur.amphur_id, tb_amphur.amphur_th FROM tb_province INNER JOIN tb_amphur ON tb_province.province_id = tb_amphur.province_id WHERE (((tb_province.Province_th)=[Forms]![Form1]![cb_province]));"
Me.cb_district.RowSource = "SELECT tb_district.district_id, tb_district.district_th FROM tb_district INNER JOIN tb_amphur ON tb_district.amphur_id = tb_amphur.amphur_id WHERE (((tb_amphur.amphur_th)=[Forms]![Form1]![cb_amphur]));"
End Sub
Private Sub cb_province_Change()
Me.cb_amphur.Requery
Me.cb_amphur = Null
Me.cb_district = Null
Me.txt_zipcode = Null
End Sub
Private Sub cb_amphur_Change()
Me.cb_district.Requery
Me.cb_district = Null
Me.txt_zipcode = Null
End Sub
Private Sub cb_district_Change()
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