แมโครแอคชัน FindRecord

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

หมายเหตุ

แมโครแอคชัน FindRecord ไม่พร้อมใช้งานใน Access Web Apps

การตั้งค่า

แอคชัน FindRecord มีอาร์กิวเมนต์ต่อไปนี้

อาร์กิวเมนต์ของแอคชัน คำอธิบาย
สิ่งที่ค้นหา ระบุข้อมูลที่คุณต้องการค้นหาในระเบียน ใส่ข้อความ ตัวเลข หรือวันที่ที่คุณต้องการค้นหาหรือพิมพ์นิพจน์ซึ่งนําหน้าด้วยเครื่องหมายเท่ากับ (=) ในกล่อง สิ่งที่ค้นหา ในส่วน อาร์กิวเมนต์ของแอคชัน ของบานหน้าต่าง ตัวสร้างแมโคร คุณสามารถใช้อักขระตัวแทนได้ อาร์กิวเมนต์นี้เป็นอาร์กิวเมนต์ที่จําเป็นต้องมี
ตรงกัน ระบุตําแหน่งของข้อมูลในเขตข้อมูล คุณสามารถระบุการค้นหาข้อมูลในส่วนใดก็ได้ของเขตข้อมูล (ส่วนใดๆ ของเขตข้อมูล) สําหรับข้อมูลที่เติมทั้งเขตข้อมูล (เขตข้อมูลทั้งหมด) หรือสําหรับข้อมูลที่อยู่ที่จุดเริ่มต้นของเขตข้อมูล (จุดเริ่มต้นของเขตข้อมูล) ค่าเริ่มต้นคือ เขตข้อมูลทั้งหมด
ตรงตามตัวพิมพ์ใหญ่-เล็ก ระบุว่าการค้นหาเป็นแบบตรงตามตัวพิมพ์ใหญ่-เล็กหรือไม่ คลิก ใช่ (ดําเนินการค้นหาแบบตรงตามตัวพิมพ์ใหญ่-เล็ก) หรือ ไม่ใช่ (ค้นหาโดยไม่ตรงกับตัวพิมพ์ใหญ่และตัวพิมพ์เล็กทุกประการ) ค่าเริ่มต้นคือ ไม่ใช่
การค้นหา ระบุว่าการค้นหาจะดําเนินการจากระเบียนปัจจุบันจนถึงจุดเริ่มต้นของระเบียน (ขึ้น) หรือไม่ ลงไปยังจุดสิ้นสุดของระเบียน (ลง) หรือลงไปยังจุดสิ้นสุดของระเบียน แล้วจากจุดเริ่มต้นของระเบียนไปยังระเบียนปัจจุบัน ดังนั้นระเบียนทั้งหมดจะถูกค้นหา (ทั้งหมด) ค่าเริ่มต้นคือ ทั้งหมด
ค้นหาตามรูปแบบที่จัดไว้ ระบุว่าการค้นหาจะรวมข้อมูลที่จัดรูปแบบแล้วหรือไม่ คลิก ใช่ (Access จะค้นหาข้อมูลตามที่ถูกจัดรูปแบบและแสดงในเขตข้อมูล) หรือ ไม่ใช่ (Access จะค้นหาข้อมูลตามที่ถูกเก็บไว้ในฐานข้อมูล ซึ่งจะไม่เหมือนกับที่แสดงเสมอไป) ค่าเริ่มต้นคือ ไม่ใช่
คุณสามารถใช้คุณลักษณะนี้เพื่อจํากัดการค้นหาข้อมูลในรูปแบบที่เฉพาะเจาะจงได้ ตัวอย่างเช่น คลิก ใช่ แล้วพิมพ์ 1,234 ในอาร์กิวเมนต์ สิ่งที่ค้นหา เพื่อค้นหาค่า 1,234 ในเขตข้อมูลที่จัดรูปแบบให้ใส่เครื่องหมายจุลภาค คลิก ไม่ใช่ ถ้าคุณต้องการพิมพ์ 1234 เพื่อค้นหาข้อมูลในเขตข้อมูลนี้
เมื่อต้องการค้นหาวันที่ ให้คลิก ใช่ เพื่อค้นหาวันที่ตามที่มีการจัดรูปแบบ เช่น 08-กรกฎาคม 2558 ถ้าคุณคลิก ไม่ใช่ ให้ใส่วันที่สําหรับอาร์กิวเมนต์ สิ่งที่ค้นหา ในรูปแบบที่ตั้งค่าไว้ในการตั้งค่าภูมิภาคใน Windows แผงควบคุม รูปแบบนี้จะแสดงอยู่ในกล่อง รูปแบบวันที่แบบสั้น ที่พบบนแท็บ วันที่ ในการตั้งค่าภูมิภาค ตัวอย่างเช่น ถ้ากล่อง รูปแบบวันที่แบบสั้น ถูกตั้งค่าเป็น M/d/yy คุณสามารถใส่ 7/8/15 และ Access จะค้นหารายการทั้งหมดในเขตข้อมูลวันที่ที่สอดคล้องกับวันที่ 8 กรกฎาคม 2015 โดยไม่คํานึงถึงวิธีการจัดรูปแบบเขตข้อมูลนี้

หมาย เหตุ: อาร์กิวเมนต์ ค้นหาตามรูปแบบที่จัดไว้ จะมีผลก็ต่อเมื่อเขตข้อมูลปัจจุบันเป็นตัวควบคุมที่ถูกผูกไว้ อาร์กิวเมนต์ ตรงกัน ถูกตั้งค่าเป็น เขตข้อมูลทั้งหมด อาร์กิวเมนต์ เฉพาะเขตข้อมูลปัจจุบัน ถูกตั้งค่าเป็น ใช่ และอาร์กิวเมนต์ ตรงตามตัวพิมพ์ใหญ่-เล็ก ถูกตั้งค่าเป็น ไม่ใช่ ถ้าคุณตั้งค่า ตรงตามตัวพิมพ์ใหญ่-เล็ก เป็น ใช่ หรือ เฉพาะเขตข้อมูลปัจจุบัน เป็น ไม่ใช่ คุณต้องตั้งค่า ค้นหาตามการจัดรูปแบบ เป็น ใช่
เฉพาะเขตข้อมูลปัจจุบัน ระบุว่าการค้นหาถูกจํากัดไว้ที่เขตข้อมูลปัจจุบันในแต่ละระเบียนหรือรวมเขตข้อมูลทั้งหมดในแต่ละระเบียน การค้นหาในเขตข้อมูลปัจจุบันเร็วขึ้น คลิก ใช่ (จํากัดการค้นหาไว้ที่เขตข้อมูลปัจจุบัน) หรือ ไม่ใช่ (ค้นหาในทุกเขตข้อมูลในแต่ละระเบียน) ค่าเริ่มต้นคือ ใช่
ค้นหาตั้งแต่ต้น ระบุว่าการค้นหาจะเริ่มต้นที่เรกคอร์ดแรกหรือที่เรกคอร์ดปัจจุบัน คลิก ใช่ (เริ่มที่ระเบียนแรก) หรือ ไม่ใช่ (เริ่มที่ระเบียนปัจจุบัน) ค่าเริ่มต้นคือ ใช่

      

ข้อสังเกต

เมื่อแมโครเรียกใช้แอคชัน FindRecord Access จะค้นหาข้อมูลที่ระบุในระเบียน (ลําดับการค้นหาจะถูกกําหนดโดยการตั้งค่าอาร์กิวเมนต์ ค้นหา ) เมื่อ Access พบข้อมูลที่ระบุ ข้อมูลจะถูกเลือกในระเบียน

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

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

เมื่อคุณต้องการค้นหาระเบียนโดยใช้แมโคร ให้ใช้แอคชัน FindRecord ไม่ใช่แอคชัน RunCommand ที่มีการตั้งค่าอาร์กิวเมนต์ให้เรียกใช้คำสั่ง ค้นหา

หมายเหตุ

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

ถ้าข้อความที่เลือกในปัจจุบันเหมือนกับข้อความค้นหาในขณะดําเนินการ FindRecord การค้นหาจะเริ่มต้นต่อจากส่วนที่เลือกในเขตข้อมูลเดียวกันกับส่วนที่เลือก และในระเบียนเดียวกัน มิฉะนั้น การค้นหาจะเริ่มต้นที่จุดเริ่มต้นของระเบียนปัจจุบัน ซึ่งช่วยให้คุณสามารถค้นหาอินสแตนซ์ต่างๆ ของเกณฑ์การค้นหาเดียวกันที่อาจปรากฏในระเบียนเดียว

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

หมายเหตุ

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

ลักษณะการทำงานเช่นเดียวกันนี้ยังเกิดขึ้นได้ถ้าคุณใช้ปุ่มคำสั่งเพื่อเรียกใช้แมโครที่มีแอคชัน FindNext

เมื่อต้องการเรียกใช้แอคชัน FindRecord ในโมดูล Visual Basic for Applications (VBA) ให้ใช้เมธอด FindRecord ของวัตถุ DoCmd

สำหรับการค้นหาที่ซับซ้อนยิ่งขึ้น คุณอาจต้องใช้แมโครแอคชัน SearchForRecord