วันจันทร์ที่ 9 กันยายน พ.ศ. 2556

ตัวอย่างการสร้าง combobox สำหรับเลือกจังหวัด อำเภอ และตำบล ใน access 2010


เริ่มด้วยการสร้างตารางที่จะใช้เป็นแหล่งข้อมูลของ combobox ที่จะใช้เลือกจังหวัด อำเภอ และตำบล ก่อน  ตั้งชื่อ
 ตารางว่า  COUNTY และมีฟิวสำหรับจัดเก็บข้อมูลตามรูป
 

จากนั้นสร้างฟอร์มใหม่ขึ้นมา 1 ฟอร์ม ในมุมมอง  ออกแบบ และสร้าง combobox จำนวน 3 อัน ตามรูป


จากนั้นกำหนดคุณสมบัติของ combobox ทั้ง 3 อัน ดังนี้

            1. combobox จังหวัด
               1.1 ใช้ชื่อ comboCOUNTY

                1.2 กำหนด Row source = SELECT DISTINCT COUNTY.COUNTY FROM COUNTY;
                1.3 กำหนด Row source Type = Table/Query


                       1.4. ที่ Event  After Update ของ comboCOUNTY

           เขียนโปรแกรมใส่ดังนี้
             Private Sub comboCOUNTY_AfterUpdate()
        DoCmd.Requery "comboCANTON"
        If Not IsNull(Me.comboCANTON) Then
                                Me.comboCANTON = ""
        End If
        If Not IsNull(Me.comboDISTRICT) Then
                                Me.comboDISTRICT = ""
        End If
            End Sub

 ก็เป็นอันเสร็จที่  comboCOUNTY


             2. combobox อำเภอ
                    2.1 ใช้ชื่อ comboCANTON


                2.2 กำหนด Row source =
SELECT DISTINCT COUNTY.CANTON FROM COUNTY WHERE (((COUNTY.COUNTY)=[Forms]![Form1]![comboCOUNTY]));
                2.3 กำหนด Row source Type = Table/Query


                2.4. ที่ Event  After Update ของ comboCANTON
                   เขียนโปรแกรมใส่ดังนี้

             Private Sub comboCANTON_AfterUpdate()
      DoCmd.Requery "comboDISTRICT"
      If Not IsNull(Me.comboDISTRICT) Then
                                Me.comboDISTRICT = ""
      End If
             End Sub


 ก็เป็นอันเสร็จที่  comboCANTON

             3. combobox ตำบล
                    3.1 ใช้ชื่อ comboDISTRICT


                3.2 กำหนด Row source =
SELECT COUNTY.DISTRICT FROM COUNTY WHERE (((COUNTY.CANTON)=[Forms]![Form1]![comboCANTON]));
                3.3 กำหนด Row source Type = Table/Query
แค่นี้ก็เสร็จแล้วครับ เมื่อเลือกจังหวัดไหนใน combo อำเภอ ก็จะกรองเอาเฉพาะอำเภอในจังหวัดนั้นมาให้เท่านั้น และเมื่อเลือกอำเภอแล้ว ใน combo ตำบล ก็จะกรองเฉพาะตำบลในอำเภอนั้นมาเท่านั้น
 




3 ความคิดเห็น:

  1. SELECT DISTINCT COUNTY.COUNTY FROM COUNTY;
    ตรง COUNTY.COUNTY อันนี้ชื่อฟิล์หรือชื่อตารางครับ เพราะผมลองทำตามแล้วมันขึ้น syntax error ครับ

    ตอบลบ
    คำตอบ
    1. ไม่ระบุชื่อ6 กรกฎาคม 2563 เวลา 02:50

      ตาราง COUNTY ฟิวล์ COUNTY ครับ

      ลบ