listbox to Query
กระทู้เก่าบอร์ด อ.Yeadram

 1,809   7
URL.หัวข้อ / URL
listbox to Query

ผมมีปัญหาว่าได้สร้างแบบ Form ไว้ โดยมีแค่
- 1 listbox มีรายการอยู่ 8 รายการ ไม่ใช่ MultiSelect
- 1 Run Query button
- 1 Clear Data button

โดยผู้ใช้จะเลือกมา 1 รายการใน listbox แล้ว ข้อมูลนั้นถูกไปใช้ในการ filter ของ query.

Query ที่ใช้กับ Form นี้เป็นการดึงข้อมูลมาจากหลายตาราง
โดย จะมีการ filter โดย 2 fields
- ค่าแรก คือค่าคงที่ที่ fixed ไว้ "D"
- ค่าที่สอง คือค่าที่ได้จาก listbox โดยใส่ไว้ดังนี้
[Forms]![frm_PrintPRBforFinance]![listPayerPRB1]

ปัญหาคือเวลา run query แล้วไม่มีข้อมูลออกมาเลยครับ error ก็ไม่มี
ถ้าเอา ค่า criteria ที่สอง ออก เหลือแค่ อันแรก ข้อมูลจะออกมาครับ
หรือถ้าใส่ ค่า criteria โดยตรงใน field ที่ต้องดึงมาจาก listbox ข้อมูลก็จะแสดงออกมาถูกต้องครับ

ผมมือใหม่น่ะครับ เลยงงมากตอนนี้

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

1 @R13066
อันนี้คือรูปบางส่วนของ query ครับ
2 @R13067
RowSource ของ listPayerPRB1 มีค่าเป็นอะไรครับ
เดาว่าเป็น Select ID, [Payer Name] From tbl_codPayer หรือเปล่าครับ?

ปกติ value ของ list box หรือ combo box จะเป็น field ของ row source ครับ ซึ่งถ้าคุณเอาไปเทียบกับ Payer Name ใน query ก็จะไม่ถูกครับ
3 @R13068
RowSource ของ listPayerPRB1 มีค่าดังนี้ครับ ผมสร้างจาก wizard เอาครับ

SELECT [tbl_codePayer].[ID], [tbl_codePayer].[Payer Name] FROM tbl_codePayer ORDER BY [ID];
4 @R13070
เป็นไปตามที่ผมสัญนิษฐานครับ คือ list box มันคืนค่าเป็น ID แต่คุณ เอาไปเป็น criteria ของ Payer Name - มันก็เลยไม่ตรงกันครับ

แก้โดย ใน Query เพิ่ม field [tbl_codePayer]![id] แล้วย้าย criteria จาก Payer Name มาไว้ที่ id แทน
5 @R13073
ขอบคุณมากครับ
ขอถามเพิ่มเติมครับ
หมายความทุก listbox จะคืนค่าเป็น ID เหรอครับ?
ผมยังงงกับคำว่า row source อยู่ มันคือ primary key เหรอครับ?
6 @R13076
โดยปกติ ค่าของ list box และ combo box ขึ้นอยู่กับ row source field แรก
ซึ่งจะเป็น key หรือไม่ก็ได้ ตามแต่การนำไปใช้งาน
7 @R13079
ขอบคุณมากครับ
ไม่ทราบว่าพอจะแนะนำหนังสือสำหรับการศึกษาเพิ่มเติมให้หน่อยได้มั้ยครับ
จะไทยหรืออังกฤษก็ได้ครับ ถ้าเป็น ebook ด้วยก็ดีครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1608s