การกำหนด RowSource ของ combobox
กระทู้เก่าบอร์ด อ.Yeadram

 1,338   2
URL.หัวข้อ / URL
การกำหนด RowSource ของ combobox

ผมมี 2 table คือ
tblProduct : ProductID, ProductName, Color
tblColor : ColorID, ColorName
และมี 1 form คือ
frmProduct : สร้างจาก tblProduct ฟิลด์ Color ผมทำเป็น commbobox โดยมี RowSource จาก tblColor (Column Count=2, Bound Column=1)
ปัญหาที่อยากถามอาจารย์คือ
บาง Product มีสีให้เลือกจำกัด แต่ละ Product จึงมีสีให้เลือกไม่เหมือนกัน เพื่อป้องกันความผิดพลาดของ user ในการเลือกสี ผมจึงต้องการให้ cboColor มี RowSource เปลี่ยนไปตาม Product แต่ละชนิด
ผมจึงเขียน code (สมมุติว่าเลือก Product A ไว้แล้ว)
       Me.cboColor.RowSource = "Select tblColor.ColorID, tblColor.ColorName From tblColor Where tblColor.ColorID in (2,3)"
แต่มีข้อผิดพลาดดังนี้
ถ้าผมเขียนที่ On Current ของ frmProduct จะเกิด error เมื่อคลิก cboColor คือ Data type missmatch in criteria expression
ถ้าผมเขียนที่ On Click ของ cboColor มันจะเลือกได้ปกติเหมือนไม่ได้กำหนด expression
code ที่เขียนผิดตรงไหน และต้องแก้ไขอย่างไรครับ
ขอบคุณครับ
      

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

1 @R10280
ถ้า ColorID เป็นข้อมูลประเภท Text

RowSource ต้องเขียนว่า "Select ... Where tblColor.ColorID in ('2', '3')" ครับ
2 @R10289
ขอบคุณมากครับ
ColorID ผมเป็น Text จริงๆ ด้วยครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3845s