Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

คุณสามารถใช้แอคชัน ApplyFilter เพื่อนํา ตัวกรองคิวรี หรือส่วนคําสั่ง SQL WHERE ไปใช้กับ ตารางฟอร์ม หรือ รายงาน เพื่อจํากัดหรือเรียงลําดับระเบียนในตาราง หรือระเบียนจากตารางหรือคิวรีต้นแบบของฟอร์มหรือรายงาน สําหรับรายงาน คุณสามารถใช้การกระทํานี้ได้เฉพาะใน แมโคร ที่ระบุโดยคุณสมบัติเหตุการณ์ OnOpen ของรายงานเท่านั้น

หมายเหตุ: คุณสามารถใช้แอคชันนี้เพื่อนําส่วนคําสั่ง WHERE ของ SQL ไปใช้เมื่อนําตัวกรองเซิร์ฟเวอร์ไปใช้เท่านั้น ไม่สามารถใช้ตัวกรองบนเซิร์ฟเวอร์กับแหล่งระเบียนของกระบวนงานที่เก็บไว้ได้

หมายเหตุ: แมโครแอคชัน ApplyFilter ไม่พร้อมใช้งานใน Access Web App

การตั้งค่า

แอคชัน ApplyFilter มีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์ของแอคชัน

คำอธิบาย

ชื่อตัวกรอง

ชื่อของตัวกรองหรือคิวรีที่จํากัดหรือเรียงลําดับระเบียนของตาราง ฟอร์ม หรือรายงาน คุณสามารถใส่ชื่อของคิวรีที่มีอยู่หรือตัวกรองที่ได้บันทึกเป็นคิวรีในกล่อง ชื่อตัวกรอง ในส่วน อาร์กิวเมนต์ของแอคชัน ของบานหน้าต่าง ตัวสร้างแมโคร

หมายเหตุ: เมื่อคุณใช้แอคชันนี้เพื่อนําตัวกรองบนเซิร์ฟเวอร์ไปใช้

เงื่อนไขของ Where

ส่วนคําสั่ง SQL WHERE ที่ถูกต้อง (ไม่มีคําว่า WHERE) หรือ นิพจน์ ที่จํากัดระเบียนของตาราง ฟอร์ม หรือรายงาน

หมายเหตุ: ในนิพจน์อาร์กิวเมนต์ เงื่อนไข Where โดยทั่วไปทางด้านซ้ายของนิพจน์จะมีชื่อเขตข้อมูลจากตารางหรือคิวรีต้นแบบสําหรับฟอร์มหรือรายงาน โดยทั่วไปแล้ว ทางด้านขวาของนิพจน์จะมี เกณฑ์ ที่คุณต้องการนําไปใช้กับเขตข้อมูลนี้เพื่อจํากัดหรือเรียงลําดับระเบียน ตัวอย่างเช่น เกณฑ์อาจเป็นชื่อของตัวควบคุมบนฟอร์มอื่นที่มีค่าที่คุณต้องการให้ระเบียนในฟอร์มแรกตรงกัน ชื่อของตัวควบคุมควรเป็นแบบเต็ม ตัวอย่างเช่น:

Forms! formname! controlname

ชื่อเขตข้อมูลควรล้อมรอบด้วยเครื่องหมายอัญประกาศคู่และสัญพจน์สตริงควรอยู่ในเครื่องหมายอัญประกาศเดี่ยว

ความยาวสูงสุดของอาร์กิวเมนต์ เงื่อนไข Where คือ 255 อักขระ ถ้าคุณต้องการใส่ส่วนคําสั่ง SQL WHERE ที่ยาวขึ้น ให้ใช้เมธอด ApplyFilter ของวัตถุ DoCmd ในโมดูล Visual Basic for Applications (VBA) คุณสามารถใส่คําสั่งส่วนคําสั่ง SQL WHERE ได้สูงสุด 32,768 อักขระใน VBA

หมายเหตุ: คุณสามารถใช้อาร์กิวเมนต์ ชื่อตัวกรอง ถ้าคุณได้กําหนดตัวกรองที่ให้ข้อมูลที่เหมาะสมไว้แล้ว คุณสามารถใช้อาร์กิวเมนต์ เงื่อนไข Where เพื่อใส่เกณฑ์ข้อจํากัดโดยตรง ถ้าคุณใช้ทั้งสองอาร์กิวเมนต์ Access นําส่วนคําสั่ง WHERE ไปใช้กับผลลัพธ์ของตัวกรอง คุณต้องใช้อาร์กิวเมนต์หนึ่งหรือทั้งสองอาร์กิวเมนต์

ข้อสังเกต

คุณสามารถใช้ตัวกรองหรือการสอบถามกับแบบฟอร์มใน มุมมองฟอร์ม หรือ มุมมองแผ่นข้อมูล

เงื่อนไขตัวกรองและ WHERE ที่คุณนําไปใช้จะกลายเป็นการตั้งค่าคุณสมบัติ ตัวกรอง หรือ ServerFilter ของฟอร์มหรือรายงาน

สําหรับตารางและฟอร์ม การดําเนินการนี้จะคล้ายกับการคลิก ใช้ตัวกรอง/เรียงลําดับ หรือ ใช้ตัวกรองเซิร์ฟเวอร์ บนเมนู ระเบียน คําสั่งเมนูจะนําตัวกรองที่สร้างขึ้นล่าสุดไปใช้กับตารางหรือฟอร์ม ในขณะที่แอคชัน ApplyFilter จะใช้ตัวกรองหรือคิวรีที่ระบุ

ในฐานข้อมูล Access ถ้าคุณชี้ไปที่ ตัวกรอง บนเมนู ระเบียน แล้วคลิก ตัวกรอง/การเรียงลําดับขั้นสูง หลังจากเรียกใช้แอคชัน ApplyFilterตัวกรองขั้นสูง/หน้าต่างการจัดเรียง จะแสดงเกณฑ์ตัวกรองที่คุณเลือกด้วยการกระทํานี้

เมื่อต้องการเอาตัวกรองออกและแสดงระเบียนทั้งหมดสําหรับตารางหรือฟอร์มในฐานข้อมูล Access คุณสามารถใช้แอคชัน ShowAllRecords หรือคําสั่ง เอาตัวกรอง/การเรียงลําดับออก บนเมนู ระเบียน เมื่อต้องการเอาตัวกรองในโครงการ Access (.adp) ออก คุณสามารถกลับไปยังหน้าต่าง กรองตามฟอร์มบนเซิร์ฟเวอร์ และเอาเกณฑ์ตัวกรองทั้งหมดออก แล้วคลิก นําตัวกรองเซิร์ฟเวอร์ไปใช้ บนเมนู ระเบียน บนแถบเครื่องมือ หรือตั้งค่าคุณสมบัติ ServerFilterByForm เป็น False (0)

เมื่อคุณบันทึกตารางหรือฟอร์ม Access จะบันทึกตัวกรองใดๆ ที่กําหนดไว้ในวัตถุนั้นในปัจจุบัน แต่จะไม่นําตัวกรองไปใช้โดยอัตโนมัติในครั้งถัดไปที่เปิดวัตถุ (แม้ว่าวัตถุนั้นจะนําการเรียงลําดับใดๆ ที่คุณนําไปใช้กับวัตถุไปใช้โดยอัตโนมัติก่อนที่จะถูกบันทึก) ถ้าคุณต้องการนําตัวกรองไปใช้โดยอัตโนมัติเมื่อเปิดฟอร์มเป็นครั้งแรก ให้ระบุแมโครที่มีแอคชัน ApplyFilter หรือกระบวนงานเหตุการณ์ที่มีเมธอด ApplyFilter ของวัตถุ DoCmd เป็นการตั้งค่าคุณสมบัติเหตุการณ์ OnOpen ของฟอร์ม คุณยังสามารถนําตัวกรองไปใช้โดยใช้การดําเนินการ OpenForm หรือ OpenReport หรือวิธีการที่สอดคล้องกัน เมื่อต้องการนําตัวกรองไปใช้โดยอัตโนมัติเมื่อเปิดตารางเป็นครั้งแรก คุณสามารถเปิดตารางโดยใช้แมโครที่มีแอคชัน OpenTable ตามด้วยแอคชัน ApplyFilter ทันที

ตัวอย่าง

นําตัวกรองไปใช้โดยใช้แมโคร

แมโครต่อไปนี้มีชุดของการกระทํา ซึ่งแต่ละแอคชันจะกรองระเบียนสําหรับฟอร์ม รายการหมายเลขโทรศัพท์ลูกค้า ซึ่งจะแสดงการใช้การดําเนินการ ApplyFilter, ShowAllRecords และ GoToControl นอกจากนี้ยังแสดงการใช้เงื่อนไขเพื่อกําหนดปุ่มสลับในกลุ่มตัวเลือกที่ถูกเลือกบนฟอร์ม แถวการกระทําแต่ละแถวจะสัมพันธ์กับปุ่มสลับที่เลือกชุดระเบียนที่เริ่มต้นด้วย A, B, C และอื่นๆ หรือระเบียนทั้งหมด แมโครนี้ควรถูกแนบกับเหตุการณ์ AfterUpdate ของกลุ่มตัวเลือก CompanyNameFilter

เงื่อนไข

การดำเนินการ

อาร์กิวเมนต์: การตั้งค่า

ข้อคิดเห็น

[CompanyNameFilters]=1

ApplyFilter

ตําแหน่งที่เงื่อนไข: [CompanyName] Like "[Aàáâãä]*"

กรองสําหรับชื่อบริษัทที่ขึ้นต้นด้วย A, À, Á, Â, Ã หรือ Ä

[CompanyNameFilters]=2

ApplyFilter

ตําแหน่งที่มีเงื่อนไข: [CompanyName] Like "B*"

กรองชื่อบริษัทที่ขึ้นต้นด้วย B

[CompanyNameFilters]=3

ApplyFilter

ในกรณีที่มีเงื่อนไข: [CompanyName] Like "[CÇ]*"

กรองชื่อบริษัทที่ขึ้นต้นด้วย C หรือ Ç

... แถวการดําเนินการสําหรับ D ถึง Y มีรูปแบบเดียวกับ A ถึง C ...

[CompanyNameFilters]=26

ApplyFilter

ตําแหน่งที่มีเงื่อนไข: [CompanyName] Like "[ZÆØÅ]*"

กรองชื่อบริษัทที่ขึ้นต้นด้วย Z, Æ, Ø หรือ Å

[CompanyNameFilters]=27

ShowAllRecords

แสดงเรกคอร์ดทั้งหมด

[RecordsetClone] [RecordCount]>0

GoToControl

ชื่อตัวควบคุม: CompanyName

ถ้าระเบียนถูกส่งกลับสําหรับตัวอักษรที่เลือก ให้ย้ายโฟกัสไปยังตัวควบคุม CompanyName

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย