การสร้างเงื่อนไขให้ Combo box ใน Access
กระทู้เก่าบอร์ด อ.Yeadram

 4,446   6
URL.หัวข้อ / URL
การสร้างเงื่อนไขให้ Combo box ใน Access

ผมต้องการสร้าง Combo box 2 อัน ครับ

combo อันที่1 เป็น brandname   อันที่2 เป็น Model

โดยมีเงื่อนไขว่า ต้องเลือก combo box1 ก่อน แล้ว combo box2 จะโชว์ข้อมูล โดยแสดง ข้อมูลเฉพาะ ข้อมูลที่อยู่ภายใต้ เงื่อนไขของcombo box1 เท่านั้น

ต้องทำยังไงครับ ไปไม่ถูกเลย ตอนนี้เครียดมากเลย ช่วยด้วยครับ

6 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R02703

ลองดูครับ

กำหนดให้ combo ของ BrandName ชื่อ cboBrandName
กำหนดให้ combo ของ Model ชื่อ cboModel

ที่ cboBrandName
Private sub cboBrandName_Afterupdate()
    If Not Isnull(cboBrandName.Value) Then
        Dim sqlBrandName as string
'กำหนด sqlStatement จากตารางที่เก็บ ข้อมูลของ Model (tbModel)
'โดยกำหนดฟิลด์ที่เก็บ BrandName มีค่า=cboBrandName.Value
        sqlBrandName="Select * From tbModel " & _
          "Where BrandName = '" & cboBrandName & "' " & _
          "ORDER BY BrandNameID;"
'กำหนด แหล่งข้อมูลให้กับ cboModel
          cboModel.RecordSource=sqlBrandName
    Else
          sqlBrandName=""
          cboModel.RecordSource=sqlBrandName
    End if
End sub
2 @R02709
"ORDER BY BrandNameID;"
ตัวกำหนด ค่าอะไร เหรอครับ
3 @R02712
กำหนดการจัดเรียงข้อมูล ตามรหัสแบรนด์เนม (BrandNameID) ครับ
จะมีหรือไม่ ก็ได้
ต้องขอโทษด้วยครับ ที่จริงควรจะเป็นการจัดเรียงตาม รหัสModel ครับ
"ORDER BY ModelID;"
4 @R02714
แก้ไขอีกนิดครับ
cboModel.RowSource ไม่ไช่ cboModel.RecordSource
5 @R02740
ผมสร้าง combo box ขึ้นมา2ตัว
ตัวแรกชื่อ cbobrand_name โดยดึงข้อมูล จาก
table ชื่อ Brand_name    รายละเอียดดังนี้
Brand_nameID     Brand_name
1                             Acer
2                               Dell
3                            NoName
ตัวที่2ชื้อ cbomodel โดยดึงข้อมูล จาก ชื่อ Table_Model รายละเอียดดังนี้
ID     Brand_name     Model
1     Acer                      S286
2     Acer                      M460
3     Dell                  Optiplex360
4     NoName      

ผมสร้างเงื่อนไขแบบนี้ ถูกมั้ยครับ แต่ผมลองแล้วใช้ไม่ได้ ต้องแก้ตรงไหน บอกหน่อยครับ

Private Sub cboBrand_Name_Afterupdate()
    If Not IsNull(cboBrand_name.Value) Then
        Dim sqlBrand_Name As String
        sqlBrand_Name = "Select * From Table_Model " & _
          "Where Brand_Name = '" & cboBrand_name & "' " & _
          "ORDER BY ModelID;"
          cboModel.RowSource = sqlBrand_Name
    Else
          sqlBrand_Name = ""
          cboModel.RowSource = sqlBrand_Name
    End If
End Sub
6 @R02743
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3665s