เมื่อคุณต้องการให้แบบสอบถามใน Access ขอให้ป้อนข้อมูลทุกครั้งที่คุณเรียกใช้ คุณสามารถสร้าง คิวรีพารามิเตอร์
คุณยังสามารถสร้างฟอร์มเพื่อรวบรวมค่าพารามิเตอร์ที่จะใช้เพื่อจํากัดระเบียนที่ส่งกลับสําหรับคิวรี ฟอร์ม หรือรายงาน บทความนี้จะอธิบายวิธีการใช้ฟอร์มเพื่อปรับปรุงการใช้พารามิเตอร์ในแบบสอบถาม ฟอร์ม และรายงาน
ในบทความนี้
ภาพรวม
คุณสามารถใช้เกณฑ์ในคิวรีพารามิเตอร์ใน Access เพื่อจํากัดชุดของระเบียนที่คิวรีส่งกลับ คุณอาจพบว่ากล่องโต้ตอบที่คิวรีพารามิเตอร์ให้มานั้นไม่เพียงพอสําหรับวัตถุประสงค์ของคุณ ในกรณีดังกล่าวคุณสามารถสร้างแบบฟอร์มที่ตรงกับความต้องการในการเก็บพารามิเตอร์ของคุณได้ดียิ่งขึ้น บทความนี้อธิบายวิธีการสร้างฟอร์มที่รวบรวมพารามิเตอร์คิวรีและรายงาน บทความนี้จะถือว่าคุณคุ้นเคยกับการสร้างคิวรีและการกําหนดพารามิเตอร์ในคิวรี อย่างน้อยคุณควรคุ้นเคยกับการสร้างคิวรีแบบใช้เลือกข้อมูลก่อนที่คุณจะดําเนินการต่อ
บทความนี้มีตัวอย่างของการใช้พารามิเตอร์ในแบบสอบถาม ซึ่งไม่ได้ให้การอ้างอิงที่ครอบคลุมสําหรับการระบุเกณฑ์
-
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างแบบสอบถามแบบใช้เลือกข้อมูล ดูบทความ สร้างแบบสอบถามแบบใช้เลือกข้อมูลอย่างง่าย
-
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบสอบถามโดยทั่วไป ดูบทความ บทนำเกี่ยวกับแบบสอบถาม
-
สำหรับข้อมูลเพิ่มเติมที่กำหนดพารามิเตอร์ในแบบสอบถาม ดูบทความ ใช้พารามิเตอร์เพื่อถามหาการป้อนข้อมูลเมื่อเรียกใช้แบบสอบถาม
-
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการระบุเกณฑ์ในแบบสอบถาม ดูบทความ ตัวอย่างของเกณฑ์แบบสอบถาม
ใช้พารามิเตอร์ในแบบสอบถาม
การใช้พารามิเตอร์ในคิวรีเป็นเรื่องง่ายเหมือนกับการสร้างคิวรีที่ใช้เกณฑ์ คุณสามารถออกแบบคิวรีเพื่อพร้อมท์คุณสําหรับข้อมูลหนึ่งส่วน เช่น หมายเลขชิ้นส่วน หรือข้อมูลมากกว่าหนึ่งชิ้น เช่น วันที่สองวัน สําหรับแต่ละพารามิเตอร์ แบบสอบถามพารามิเตอร์จะแสดงกล่องโต้ตอบแยกต่างหากที่พร้อมท์ให้คุณใส่ค่าสําหรับพารามิเตอร์นั้น
เพิ่มพารามิเตอร์ลงในแบบสอบถาม
-
สร้างแบบสอบถามแบบใช้เลือกข้อมูล จากนั้นเปิดแบบสอบถามใน มุมมองออกแบบ
-
ในแถว เกณฑ์ ของเขตข้อมูลที่คุณต้องการใช้พารามิเตอร์ พิมพ์ข้อความที่คุณต้องการให้กล่องโต้ตอบพารามิเตอร์แสดงไว้ในวงเล็บเหลี่ยม ตัวอย่างเช่น:
[วันที่เริ่ม]
เมื่อคุณเรียกใช้แบบสอบถามพารามิเตอร์ พร้อมท์จะปรากฏในกล่องโต้ตอบโดยไม่มีวงเล็บเหลี่ยม
คุณยังสามารถใช้นิพจน์กับพร้อมท์พารามิเตอร์ของคุณ ตัวอย่างเช่น:
ระหว่าง [วันที่เริ่ม] และ [วันที่สิ้นสุด]
หมายเหตุ: กล่องโต้ตอบแยกต่างหากจะปรากฏขึ้นสําหรับพร้อมท์พารามิเตอร์แต่ละพร้อมท์ ในตัวอย่างที่สอง กล่องโต้ตอบสองกล่องจะปรากฏขึ้น: กล่องหนึ่งสําหรับ วันที่เริ่มต้น และอีกกล่องสําหรับ วันที่สิ้นสุด
-
ทำขั้นตอนที่ 2 ซ้ำสำหรับแต่ละเขตข้อมูลที่คุณต้องการเพิ่มพารามิเตอร์
คุณสามารถใช้ขั้นตอนก่อนหน้าเพื่อเพิ่มพารามิเตอร์ลงในแบบสอบถามชนิดใดก็ได้ดังต่อไปนี้: แบบใช้เลือกข้อมูล แบบตาราง แบบใช้ผนวกข้อมูล แบบใช้สร้างตาราง หรือแบบใช้ปรับปรุงข้อมูล
คุณยังสามารถเพิ่มพารามิเตอร์ในแบบสอบถามแบบร่วมได้โดยทำตามขั้นตอนต่อไปนี้:
-
เปิดแบบสอบถามแบบร่วมในมุมมอง SQL
-
เพิ่มส่วนคำสั่ง WHERE ที่ประกอบด้วยทุกเขตข้อมูลที่คุณต้องการให้พร้อมท์สำหรับพารามิเตอร์
ถ้ามีส่วนคำสั่ง WHERE อยู่แล้ว ให้ตรวจสอบว่ามีเขตข้อมูลที่คุณต้องการใช้พร้อมท์พารามิเตอร์อยู่ในส่วนคำสั่งแล้วหรือไม่ ถ้ายังไม่มี ให้เพิ่มลงไป
-
ให้ใช้พร้อมท์พารามิเตอร์แทนเกณฑ์ในส่วนคำสั่ง WHERE
ระบุชนิดข้อมูลของพารามิเตอร์
คุณยังสามารถระบุชนิดของข้อมูลที่พารามิเตอร์ควรยอมรับได้ คุณสามารถระบุชนิดข้อมูลสําหรับพารามิเตอร์ใดๆ ก็ได้ แต่เป็นสิ่งสําคัญโดยเฉพาะอย่างยิ่งในการระบุชนิดข้อมูลสําหรับข้อมูลตัวเลข สกุลเงิน หรือวันที่/เวลา เมื่อคุณระบุชนิดข้อมูลที่พารามิเตอร์ควรยอมรับ ผู้ใช้จะเห็นข้อความแสดงข้อผิดพลาดที่มีประโยชน์มากขึ้นถ้าพวกเขาใส่ชนิดข้อมูลที่ไม่ถูกต้อง เช่น การใส่ข้อความเมื่อคาดว่าสกุลเงินจะเกิดขึ้น
หมายเหตุ: ถ้ากำหนดค่าพารามิเตอร์ให้ยอมรับข้อมูลที่เป็นข้อความ การใส่ข้อมูลใดๆ จะถูกตีความเป็นข้อความ และจะไม่มีข้อความแสดงข้อผิดพลาดปรากฏขึ้น
ในการระบุชนิดข้อมูลสำหรับพารามิเตอร์ในแบบสอบถาม ทำตามขั้นตอนต่อไปนี้:
-
เมื่อเปิดคิวรีในมุมมอง ออกแบบ บนแท็บ ออกแบบ ในกลุ่ม แสดง/ซ่อน ให้คลิก พารามิเตอร์
-
ในกล่องโต้ตอบ พารามิเตอร์คิวรี ในคอลัมน์ พารามิเตอร์ ให้พิมพ์พร้อมท์สําหรับแต่ละพารามิเตอร์ที่คุณต้องการระบุชนิดข้อมูล ตรวจสอบให้แน่ใจว่าแต่ละพารามิเตอร์ตรงกับพร้อมท์ที่คุณใช้ในแถว เกณฑ์ ของตารางออกแบบคิวรี
-
ในคอลัมน์ ชนิดข้อมูล ให้เลือกชนิดข้อมูลสำหรับแต่ละพารามิเตอร์
สร้างฟอร์มที่เก็บรวบรวมพารามิเตอร์
แม้ว่าคิวรีพารามิเตอร์จะมีกล่องโต้ตอบในตัวที่รวบรวมพารามิเตอร์ แต่มีฟังก์ชันการทํางานพื้นฐานเท่านั้น เมื่อใช้ฟอร์มเพื่อรวบรวมพารามิเตอร์ คุณจะได้รับฟีเจอร์ต่อไปนี้:
-
ความสามารถในการใช้ตัวควบคุมชนิดข้อมูล เช่น ตัวควบคุมปฏิทินสำหรับวันที่
-
การเก็บรักษาพารามิเตอร์ที่เก็บรวบรวมมา เพื่อให้คุณสามารถใช้กับแบบสอบถามได้มากกว่าหนึ่งแบบสอบถาม
-
ความสามารถในการใส่กล่องคำสั่งผสมหรือกล่องรายการสำหรับคอลเลกชันพารามิเตอร์ ซึ่งช่วยให้คุณสามารถเลือกจากรายการของค่าข้อมูลที่มีอยู่
-
ความสามารถในการใส่ตัวควบคุมสำหรับฟังก์ชันอื่นๆ เช่น การเปิด หรือรีเฟรชแบบสอบถาม
วิดีโอต่อไปนี้แสดงวิธีที่คุณสามารถสร้างฟอร์มอย่างง่ายเพื่อเก็บรวบรวมพารามิเตอร์สำหรับแบบสอบถามแทนที่จะใช้กล่องโต้ตอบที่เกี่ยวข้องกับพารามิเตอร์แบบสอบถามตามปกติ
สร้างฟอร์มที่เก็บรวบรวมพารามิเตอร์สำหรับรายงาน
มีหลายวิธีที่คุณสามารถเข้าถึงสถานการณ์นี้ แต่เราจะแสดงเพียงเทคนิคเดียวที่ใช้แมโครเป็นส่วนใหญ่ ทําตามขั้นตอนเหล่านี้เพื่อสร้างฟอร์มที่รวบรวมพารามิเตอร์สําหรับรายงาน
ขั้นตอนที่ 1: สร้างฟอร์มที่ยอมรับการป้อนข้อมูล
-
บนแท็บ สร้าง ในกลุ่ม ฟอร์ม ให้คลิก ออกแบบฟอร์ม
-
ในมุมมองออกแบบ กด F4 เพื่อแสดงแผ่นคุณสมบัติ แล้วระบุคุณสมบัติฟอร์ม ดังที่แสดงในตารางต่อไปนี้
คุณสมบัติ
การตั้งค่า
คำอธิบายภาพ
ใส่ชื่อที่คุณต้องการให้ปรากฏในแถบชื่อเรื่องของฟอร์ม
มุมมองเริ่มต้น
ฟอร์มเดี่ยว
อนุญาตให้ใช้มุมมองฟอร์ม
ใช่
อนุญาตให้ใช้มุมมองแผ่นข้อมูล
ไม่ใช่
อนุญาตให้ใช้มุมมอง PivotTable
ไม่ใช่
อนุญาตให้ใช้มุมมอง PivotChart
ไม่ใช่
แถบเลื่อน
ไม่ใช่ทั้งสองอย่าง
ตัวเลือกระเบียน
ไม่ใช่
ปุ่มนำทาง
ไม่ใช่
สไตล์เส้นขอบ
กล่องโต้ตอบ
-
สำหรับแต่ละพารามิเตอร์ที่คุณต้องการให้ฟอร์มเก็บรวบรวม คลิก กล่องข้อความ ในกลุ่ม ควบคุม บนแท็บ ออกแบบ
-
ตั้งค่าคุณสมบัติของกล่องข้อความ ดังที่แสดงในตารางต่อไปนี้
คุณสมบัติ
การตั้งค่า
ชื่อ
ใส่ชื่อที่อธิบายพารามิเตอร์ เช่น วันที่เริ่ม
รูปแบบ
เลือกรูปแบบที่แสดงชนิดข้อมูลของเขตข้อมูลพารามิเตอร์ ตัวอย่างเช่น เลือก วันที่ทั่วไป สําหรับเขตข้อมูลวันที่
-
บันทึกฟอร์มและตั้งชื่อ เช่น เกณฑ์ฟอร์ม
ขั้นตอนที่ 2: สร้างโค้ดโมดูลเพื่อตรวจสอบว่าฟอร์มพารามิเตอร์โหลดแล้วหรือยัง
-
บนแท็บ สร้าง ในกลุ่ม แมโคร & โค้ด ให้คลิก มอดูล
โมดูลใหม่เปิดขึ้นใน Visual Basic Editor
-
พิมพ์หรือวางโค้ดต่อไปนี้ลงใน Visual Basic Editor:
Function IsLoaded(ByVal strFormName As String) As Boolean Dim oAccessObject As AccessObject Set oAccessObject = CurrentProject.AllForms(strFormName) If oAccessObject.IsLoaded Then If oAccessObject.CurrentView <> acCurViewDesign Then IsLoaded = True End If End If End Function
-
บันทึกโมดูลด้วยชื่อที่ไม่ซ้ำ แล้วปิด Visual Basic Editor
ขั้นตอนที่ 3: สร้างแมโครที่ควบคุมฟอร์มและรายงาน
การใช้ฟีเจอร์แมโครย่อยของแมโคร Access เราสามารถกําหนดขั้นตอนที่จําเป็นทั้งหมดที่เราต้องการในแมโครเดียว เราจะสร้างแมโครย่อยสี่รายการ - เปิดกล่องโต้ตอบ ปิดกล่องโต้ตอบ ตกลง และยกเลิก เพื่อควบคุมงานต่างๆ ที่จําเป็นสําหรับขั้นตอนนี้ ใช้สกรีนช็อตด้านล่างเป็นแนวทาง สร้างแมโครใหม่ด้วยแมโครย่อยและการดําเนินการต่อไปนี้ หมายเหตุสําหรับตัวอย่างนี้แบบฟอร์มพารามิเตอร์ของเราเรียกว่า frmCriteria ปรับแมโครของคุณให้ตรงกับชื่อของฟอร์มที่คุณสร้างไว้ก่อนหน้า นอกจากนี้ คุณยังต้องแน่ใจว่าได้คลิก แสดงการดําเนินการทั้งหมด บนแท็บ ออกแบบ เพื่อดูแมโครแอคชันทั้งหมด
บันทึกและปิดแมโคร ตั้งชื่อแมโคร เช่น แมโครช่วงวันที่
ขั้นตอนที่ 4: เพิ่มปุ่มคำสั่ง ตกลง และ ยกเลิก ลงในฟอร์ม
-
เปิดฟอร์มพารามิเตอร์ที่คุณสร้างไว้ก่อนหน้าในมุมมองออกแบบ
-
ให้แน่ใจว่า ใช้ตัวช่วยสร้างควบคุม ในกลุ่ม ตัวควบคุม บนแท็บ ออกแบบ ไม่ถูกเลือก
-
บนแท็บ ออกแบบ ในกลุ่ม ตัวควบคุม ให้คลิก ปุ่ม
-
วางตัวชี้ไว้ด้านล่างของกล่องข้อความบนฟอร์มของคุณ แล้วลากเพื่อสร้างปุ่มคำสั่ง ตกลง
-
ถ้าแผ่นคุณสมบัติไม่สามารถมองเห็นได้ ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ
-
ตั้งค่าคุณสมบัติของปุ่ม ตกลง ดังที่แสดงในตารางต่อไปนี้
คุณสมบัติ
การตั้งค่า
ชื่อ
ตกลง
คำอธิบายภาพ
ตกลง
ค่าเริ่มต้น
ใช่
OnClick
ตั้งชื่อแมโคร เช่น แมโครช่วงวันที่ ตกลง
-
สร้างปุ่มคำสั่ง ยกเลิก และตั้งค่าคุณสมบัติ ดังที่แสดงในตารางต่อไปนี้
คุณสมบัติ
การตั้งค่า
ชื่อ
ยกเลิก
คำอธิบายภาพ
ยกเลิก
OnClick
ตั้งชื่อแมโคร เช่น แมโครช่วงวันที่ ยกเลิก
-
บันทึกและปิดฟอร์มดังกล่าว
ขั้นตอนที่ 5: ใช้ข้อมูลฟอร์มเป็นเกณฑ์ในแบบสอบถาม
-
เปิดแบบสอบถามที่คุณสร้างไว้ก่อนหน้าในมุมมองออกแบบ
-
ใส่เกณฑ์สําหรับข้อมูล ใช้วัตถุ Forms ชื่อของฟอร์ม และชื่อของ ตัวควบคุม:
-
ตัวอย่างเช่น ในฐานข้อมูล Access (.accdb หรือ .mdb) สำหรับฟอร์มชื่อ เกณฑ์ฟอร์ม คุณใช้นิพจน์ต่อไปนี้เพื่ออ้างอิงถึงตัวควบคุมที่ชื่อว่า วันที่เริ่ม และ วันที่สิ้นสุด ในแบบสอบถาม:
ระหว่าง [ฟอร์ม]![เกณฑ์ฟอร์ม]![วันที่เริ่ม] และ [ฟอร์ม]![เกณฑ์ฟอร์ม]![วันที่สิ้นสุด]
-
ขั้นตอนที่ 6: เพิ่มแมโครแอคชันในรายงานเหตุการณ์
-
เปิดรายงานที่คุณต้องการใช้ในมุมมองออกแบบ
-
ถ้าแผ่นคุณสมบัติไม่สามารถมองเห็นได้ ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ
-
ตรวจสอบให้แน่ใจว่าคุณสมบัติ แหล่งระเบียน ของรายงานกำลังใช้แบบสอบถามพารามิเตอร์ที่คุณกำหนดไว้ก่อนหน้านี้
-
ตั้งค่าคุณสมบัติรายงานเพิ่มอีกสองคุณสมบัติ ดังที่แสดงในตารางต่อไปนี้
คุณสมบัติ
การตั้งค่า
OnOpen
ตั้งชื่อแมโคร เช่น แมโครช่วงวันที่ เปิดกล่องโต้ตอบ
OnClose
ตั้งชื่อแมโคร เช่น แมโครช่วงวันที่ ปิดกล่องโต้ตอบ
ในเหตุการณ์ Open ของรายงาน Access จะเรียกใช้แอคชันที่กําหนดในแมโครย่อย เปิดกล่องโต้ตอบ ของวัตถุแมโครช่วงวันที่ ในทํานองเดียวกัน เมื่อคุณปิดรายงาน Access จะเรียกใช้แอคชันที่กําหนดไว้ในแมโครย่อย ปิดกล่องโต้ตอบ ของวัตถุแมโครช่วงวันที่
-
บันทึกและปิดรายงานดังกล่าว
ขั้นตอนที่ 7: ลองใช้งานดู
เมื่อคุณสร้างวัตถุ Access ทั้งหมดแล้ว ก็ถึงเวลาลองใช้ เปิดรายงานของคุณ ในมุมมองรายงาน หรือ ตัวอย่างก่อนพิมพ์ และสังเกตว่าก่อนที่ Access จะแสดงรายงาน ฟอร์มพารามิเตอร์ของคุณจะเปิดขึ้นในโหมดกล่องโต้ตอบ ใส่เกณฑ์ที่จําเป็นในกล่องข้อความที่คุณสร้างไว้ก่อนหน้านี้ แล้วคลิกปุ่มคําสั่ง ตกลง บนฟอร์ม จากนั้น Access จะซ่อนฟอร์ม (Visible = No) และเปิดรายงานที่มีเฉพาะข้อมูลที่ตรงกับเกณฑ์ของคุณ ซึ่งทํางานเนื่องจากคิวรีพารามิเตอร์ที่รายงานยึดตามสามารถอ่านค่าในตัวควบคุมบนฟอร์มที่ซ่อนอยู่ได้ เมื่อคุณปิดรายงาน Access จะปิดฟอร์มพารามิเตอร์ด้วย