สร้าง comboBox โดยกำหนด ให้แสดงทั้งหมดหรือเฉพาะข้อมูล



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

04 ก.ค. 62 , 11:12:14
อ่าน 540 ครั้ง

pondniizz

รบกวนสอบถามอาจารย์ทุกท่านคะ

     ต้องการสร้าง ComboBox ไว้สำหรับเลือกดูข้อมูล

เช่น ข้อมูลมีปี 2018 และ 2019  เราก็สร้าง  ComboBox ที่มีรายการ 2018 2019 ตามลำดับ เพื่อเลือกดูข้อมูลเฉพาะปีนั้นๆ

แต่... ที่นี้ ต้องการเพิ่ม List ใน ComboBox ว่า ทั้งหมด เพื่อทำการแสดงข้อมูลทั้งหมดทุกปีในหน้านั้นๆ

สามารถทำตามเงื่อนไขดังกล่าวนี้ได้หรือไม่คะ

รบกวนด้วยนะคะ

ขอบคุณคะ

 

08 ก.ค. 62 , 15:15:18
ตอบกลับ #1

nonc31

สร้างปุ่มคำสั่งแสดงทั้งหมด อีกปุ่มดีกว่าครับ คงไม่รกฟอร์ม
ในคำถามบอกว่า "ต้องการเพิ่ม List" (เพิ่ม)
ยังไงก็ต้องสร้างปุ่มคำสั่ง เพื่อเพิ่มค่าเข้าไปใน combobox
« แก้ไขครั้งสุดท้าย: 08 ก.ค. 62 , 15:26:28 โดย nonc31 »

 

22 ก.ค. 62 , 16:33:59
ตอบกลับ #2

พีพี แฟมิลี่แมน

เอาตัวอย่างข้อมูลหรือตารางขึ้นมาดูเลยดีกว่าครับ
หรือเพิ่ม combo อีก ตัวนึงขึ้นมาเพื่อเลือกปีพ.ศ.ก่อน ค่อยไปรีเฟรซ combo ตัวแรก อีกที(เผื่อจำนวนปีมากขึ้น)
« แก้ไขครั้งสุดท้าย: 22 ก.ค. 62 , 16:37:20 โดย พีพี แฟมิลี่แมน »

 

23 ก.ค. 62 , 09:10:06
ตอบกลับ #3

PNR

รบกวนสอบถามอาจารย์ทุกท่านคะ

     ต้องการสร้าง ComboBox ไว้สำหรับเลือกดูข้อมูล

เช่น ข้อมูลมีปี 2018 และ 2019  เราก็สร้าง  ComboBox ที่มีรายการ 2018 2019 ตามลำดับ เพื่อเลือกดูข้อมูลเฉพาะปีนั้นๆ

แต่... ที่นี้ ต้องการเพิ่ม List ใน ComboBox ว่า ทั้งหมด เพื่อทำการแสดงข้อมูลทั้งหมดทุกปีในหน้านั้นๆ

สามารถทำตามเงื่อนไขดังกล่าวนี้ได้หรือไม่คะ

รบกวนด้วยนะคะ

ขอบคุณคะ

น่าจะทำได้นะครับ เราใช้ UNION QUERY เข้ามาช่วยในการ เพิ่ม LIST "ทั้งหมด" รวมเข้ากับ LIST ปีที่เรากำหนด

ผมสมมุติตารางดังนี้
ตารางชื่อ Table1
ฟิลล์วันที่ชื่อ Dates

มีฟอร์มที่ค้นหาชื่อ frmSearch กำหนดแบบ continuous form
มีคอมโบบ๊อก ชื่อ Combo0


ขั้นตอนที่ 1 กำหนด RowSource ของ Combo0 ดังนี้
โค๊ด: [Select]
SELECT "ทั้งหมด" AS SelectYears FROM table1 AS T1   UNION SELECT format([Dates],"YYYY")  AS SelectYears FROM Table1 AS T1
ORDER BY SelectYears;

กำหนด คอลัมน์ที่ผูกไว้ = 1
จำนวนคอลัมน์ = 1


ขั้นตอนที่ 2 กำหนด Events AfterUpdate ของ Combo0
ใส่โค้ดนี้เข้าไป
โค๊ด: [Select]
Private Sub Combo0_AfterUpdate()
If Me.Combo0 = "ทั้งหมด" Then
Me.Filter = "[Dates] Like '*" & "*" & "*'"
Me.FilterOn = True
Else
Me.Filter = "[Dates] Like '*" & [Forms]![frmsearch]![Combo0] & "*'"
Me.FilterOn = True
End If
End Sub
« แก้ไขครั้งสุดท้าย: 23 ก.ค. 62 , 09:24:29 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 


บอร์ดเรียนรู้ Access สำหรับคนไทย