คุณสามารถใช้แมโครแอคชัน OpenForm ใน Access เพื่อเปิด ฟอร์ม ใน มุมมองฟอร์มมุมมองออกแบบ ตัวอย่างก่อนพิมพ์ หรือ มุมมองแผ่นข้อมูล คุณสามารถเลือกโหมดการป้อนข้อมูลและโหมดหน้าต่างสําหรับฟอร์มและจํากัดระเบียนที่ฟอร์มแสดง
หมายเหตุ: แมโครแอคชัน OpenForm ไม่พร้อมใช้งานใน Access Web App
การตั้งค่า
แอคชัน OpenForm มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ของแอคชัน |
คำอธิบาย |
ชื่อฟอร์ม |
ชื่อของแบบฟอร์มที่จะเปิด กล่อง ชื่อฟอร์ม จะแสดงรายการดรอปดาวน์ของฟอร์มทั้งหมดในฐานข้อมูลปัจจุบัน อาร์กิวเมนต์นี้เป็นอาร์กิวเมนต์ที่จําเป็นต้องมี ถ้าคุณเรียกใช้แมโครที่มีแอคชัน OpenForm ใน ฐานข้อมูลไลบรารี Access จะค้นหาฟอร์มที่มีชื่อนี้ในฐานข้อมูลไลบรารีก่อน จากนั้นในฐานข้อมูลปัจจุบัน |
มุมมอง |
มุมมองที่ฟอร์มจะเปิดขึ้น เลือก ฟอร์ม, ออกแบบ, แสดงตัวอย่างก่อนพิมพ์, แผ่นข้อมูล, PivotTable หรือ PivotChart ในกล่อง มุมมอง ค่าเริ่มต้นคือ ฟอร์ม หมายเหตุ: ฟังก์ชันการทํางานของมุมมอง PivotTable และ PivotChart ถูกเอาออกจาก Access โดยเริ่มต้นด้วย Access 2013 หมายเหตุ: การตั้งค่าอาร์กิวเมนต์ มุมมอง จะแทนที่การตั้งค่าของคุณสมบัติ DefaultView และ ViewAllowed ของฟอร์ม ตัวอย่างเช่น ถ้าคุณสมบัติ ViewsAllowed ของฟอร์มถูกตั้งค่าเป็น แผ่นข้อมูล คุณยังคงสามารถใช้แอคชัน OpenForm เพื่อเปิดฟอร์มในมุมมองฟอร์มได้ |
ชื่อตัวกรอง |
ตัวกรอง ที่จํากัดหรือเรียงลําดับระเบียนของฟอร์ม คุณสามารถป้อนชื่อของ คิวรี ที่มีอยู่หรือตัวกรองที่ถูกบันทึกเป็นคิวรีได้ อย่างไรก็ตาม คิวรีต้องมีเขตข้อมูลทั้งหมดในฟอร์มที่คุณกําลังเปิดหรือตั้งค่าคุณสมบัติ OutputAllFields เป็น ใช่ |
เงื่อนไขของ Where |
ส่วนคําสั่ง SQL WHERE ที่ถูกต้อง (โดยไม่มีคําว่า WHERE) หรือ นิพจน์ ที่ Access ใช้เพื่อเลือกระเบียนจากตารางหรือคิวรีพื้นฐานของฟอร์ม ถ้าคุณเลือกตัวกรองที่มีอาร์กิวเมนต์ ชื่อตัวกรอง Access จะนําส่วนคําสั่ง WHERE นี้ไปใช้กับผลลัพธ์ของตัวกรอง เมื่อต้องการเปิดฟอร์มและจํากัดระเบียนของฟอร์มไว้เฉพาะระเบียนที่ระบุโดยค่าของตัวควบคุมบนฟอร์มอื่น ให้ใช้นิพจน์ต่อไปนี้ [ ชื่อเขตข้อมูล ] = Forms! [ formname ]! [ controlname บนฟอร์มอื่น ] แทนที่ ชื่อเขตข้อมูล ด้วยชื่อของเขตข้อมูลในตารางหรือคิวรีต้นแบบของฟอร์มที่คุณต้องการเปิด แทนที่ ชื่อฟอร์ม และ ชื่อตัวควบคุม บนฟอร์มอื่น ด้วยชื่อของฟอร์มอื่นและตัวควบคุมบนฟอร์มอื่นที่มีค่าที่คุณต้องการให้ระเบียนในฟอร์มแรกตรงกัน หมายเหตุ: ความยาวสูงสุดของอาร์กิวเมนต์ เงื่อนไข Where คือ 255 อักขระ ถ้าคุณต้องการใส่ส่วนคําสั่ง SQL WHERE ที่ซับซ้อนมากกว่านี้ ให้ใช้เมธอด OpenForm ของวัตถุ DoCmd ในโมดูล Visual Basic for Applications (VBA) แทน คุณสามารถใส่คําสั่งส่วนคําสั่ง SQL WHERE ได้สูงสุด 32,768 อักขระใน VBA |
โหมดข้อมูล |
โหมดการป้อนข้อมูลสําหรับฟอร์ม ซึ่งจะนําไปใช้กับฟอร์มที่เปิดในมุมมองฟอร์มหรือมุมมองแผ่นข้อมูลเท่านั้น เลือก เพิ่ม (ผู้ใช้สามารถเพิ่มระเบียนใหม่แต่ไม่สามารถแก้ไขระเบียนที่มีอยู่ได้) แก้ไข (ผู้ใช้สามารถแก้ไขระเบียนที่มีอยู่และเพิ่มระเบียนใหม่) หรือ อ่านอย่างเดียว (ผู้ใช้สามารถดูระเบียนได้เท่านั้น) หมายเหตุ
|
โหมดหน้าต่าง |
โหมดหน้าต่างที่แบบฟอร์มจะเปิดขึ้น เลือก ปกติ (ฟอร์มจะเปิดขึ้นในโหมดที่ตั้งค่าโดยคุณสมบัติของฟอร์ม) ซ่อน (ฟอร์มถูกซ่อนอยู่) ไอคอน (ฟอร์มจะเปิดเป็นแถบชื่อเรื่องขนาดเล็กที่ด้านล่างของหน้าจอ) หรือ กล่องโต้ตอบ (คุณสมบัติ โมดอล และ ป็อปอัพ ของฟอร์มจะถูกตั้งค่าเป็น ใช่) ค่าเริ่มต้นคือ ปกติ หมายเหตุ: การตั้งค่าอาร์กิวเมนต์ ของโหมดหน้าต่าง บางอย่างจะไม่นําไปใช้เมื่อใช้เอกสารแบบแท็บ เมื่อต้องการสลับไปยังหน้าต่างที่ซ้อนกัน:
|
ข้อสังเกต
แมโครแอคชันนี้จะคล้ายกับการดับเบิลคลิกที่ฟอร์มในบานหน้าต่างนําทาง หรือคลิกขวาที่ฟอร์มในบานหน้าต่างนําทาง แล้วเลือกมุมมอง
สามารถ โมดอล ฟอร์มได้ (ต้องปิดหรือซ่อนฟอร์มก่อนที่ผู้ใช้สามารถดําเนินการอื่นๆ ได้) หรือไม่มีโหมด (ผู้ใช้สามารถย้ายไปยังหน้าต่างอื่นได้ในขณะที่ฟอร์มเปิดอยู่) นอกจากนี้ยังอาจเป็น ฟอร์มป็อบอัพ (ฟอร์มที่ใช้เพื่อรวบรวมหรือแสดงข้อมูลที่ยังคงอยู่ที่ด้านบนของหน้าต่าง Access อื่นๆ ทั้งหมด) คุณตั้งค่าคุณสมบัติ โมดอล และ ป็อปอัพ เมื่อคุณออกแบบฟอร์ม ถ้าคุณใช้ ปกติ สําหรับอาร์กิวเมนต์ โหมดหน้าต่าง ฟอร์มจะเปิดขึ้นในโหมดที่ระบุโดยการตั้งค่าคุณสมบัติเหล่านี้ ถ้าคุณใช้กล่องโต้ตอบสําหรับอาร์กิวเมนต์โหมดหน้าต่าง คุณสมบัติเหล่านี้จะถูกตั้งค่าเป็น ใช่ ฟอร์มที่เปิดเป็นซ่อนหรือเป็นไอคอนจะย้อนกลับไปยังโหมดที่ระบุโดยการตั้งค่าคุณสมบัติเมื่อคุณแสดงหรือคืนค่าฟอร์ม
เมื่อคุณเปิดฟอร์มที่มีอาร์กิวเมนต์ โหมดหน้าต่าง ถูกตั้งค่าเป็น กล่องโต้ตอบ Access จะหยุดแมโครชั่วคราวจนกว่าฟอร์มจะปิดหรือถูกซ่อน คุณสามารถซ่อนฟอร์มโดยการตั้งค่าคุณสมบัติ มองเห็นได้ เป็น ไม่ใช่ โดยใช้แอคชัน SetValue
เงื่อนไขตัวกรองและ WHERE ที่คุณนําไปใช้จะกลายเป็นการตั้งค่าของคุณสมบัติ ตัวกรอง ของฟอร์ม
เคล็ดลับ: คุณสามารถเลือกฟอร์มในบานหน้าต่างนําทาง แล้วลากไปยังหน้าต่างแมโครได้ ซึ่งจะสร้างการกระทํา OpenForm ที่เปิดฟอร์มที่เลือกในมุมมองฟอร์มโดยอัตโนมัติ
ตัวอย่าง
ตั้งค่าของตัวควบคุมบนฟอร์มที่เปิดอยู่โดยใช้แมโคร
แมโครต่อไปนี้จะเปิดฟอร์ม ผลิตภัณฑ์ จากปุ่มบนฟอร์ม ผู้ขาย ซึ่งจะแสดงการใช้การดําเนินการ Echo, OpenForm, SetValue และ GoToControl การดําเนินการ SetValue จะตั้งค่าตัวควบคุม ID ผู้จําหน่ายบนฟอร์มผลิตภัณฑ์ให้กับผู้จัดจําหน่ายปัจจุบันบนฟอร์มผู้ขาย การดําเนินการ GoToControl จะย้ายโฟกัสไปยังเขตข้อมูลรหัสประเภท ซึ่งคุณสามารถเริ่มใส่ข้อมูลสําหรับผลิตภัณฑ์ใหม่ได้ แมโครนี้ควรถูกแนบกับปุ่ม เพิ่มผลิตภัณฑ์ บนฟอร์มผู้จําหน่าย
การดำเนินการ |
อาร์กิวเมนต์: การตั้งค่า |
ข้อคิดเห็น |
Echo |
ก้องบน: ไม่ |
หยุดการอัปเดตหน้าจอในขณะที่แมโครกําลังทํางาน |
OpenForm |
ชื่อฟอร์ม: ผลิตภัณฑ์ มุมมอง: ฟอร์ม โหมดข้อมูล: เพิ่ม โหมดหน้าต่าง: ปกติ |
เปิดฟอร์มผลิตภัณฑ์ |
SetValue |
Item: [Forms]! [ผลิตภัณฑ์]! [SupplierID] นิพจน์: SupplierID |
ตั้งค่าตัวควบคุม ID ผู้จําหน่ายเป็นผู้จัดจําหน่ายปัจจุบันบนฟอร์ม ผู้จําหน่าย |
GoToControl |
ชื่อตัวควบคุม: CategoryID |
ไปที่ตัวควบคุม รหัสประเภท |