คุณสามารถใช้แมโครแอคชัน GoToControl ในฐานข้อมูล Access บนเดสก์ท็อปและแอป Access บนเว็บเพื่อย้าย โฟกัส ไปยัง เขตข้อมูล ที่ระบุหรือ ตัวควบคุม ใน ระเบียน ปัจจุบันของ ฟอร์ม ที่เปิดอยู่ ฟอร์ม แผ่นข้อมูล แผ่นข้อมูลตาราง หรือแผ่นข้อมูลคิวรี คุณสามารถใช้แอคชันนี้เมื่อคุณต้องการโฟกัสที่เขตข้อมูลหรือตัวควบคุมที่เฉพาะเจาะจง เขตข้อมูลหรือตัวควบคุมนี้สามารถใช้สําหรับการเปรียบเทียบหรือการดําเนินการ FindRecord ได้ คุณยังสามารถใช้การดําเนินการนี้เพื่อนําทางในแบบฟอร์มตามเงื่อนไขบางอย่าง ตัวอย่างเช่น ถ้าผู้ใช้ใส่ ไม่ ในการควบคุมที่สมรสในแบบฟอร์มประกันสุขภาพ โฟกัสสามารถข้ามการควบคุมชื่อคู่สมรสและย้ายไปยังตัวควบคุมถัดไปได้โดยอัตโนมัติ
การตั้งค่า
แอคชัน GoToControl มีอาร์กิวเมนต์ต่อไปนี้
อาร์กิวเมนต์ของแอคชัน |
คำอธิบาย |
ชื่อตัวควบคุม |
พิมพ์ชื่อของเขตข้อมูลหรือตัวควบคุมที่คุณต้องการโฟกัส อาร์กิวเมนต์นี้เป็นอาร์กิวเมนต์ที่จําเป็นต้องมี หมายเหตุ: ใส่เฉพาะชื่อของเขตข้อมูลหรือตัวควบคุมในอาร์กิวเมนต์ ชื่อตัวควบคุม ไม่ใช่ตัวระบุแบบเต็ม เช่น [Forms]![ ผลิตภัณฑ์]! [รหัสผลิตภัณฑ์] ถ้าคุณกําลังใช้ฐานข้อมูล Access บนเดสก์ท็อป |
ข้อสังเกต
คุณไม่สามารถใช้แมโครแอคชัน GoToControl เพื่อย้ายโฟกัสไปยังตัวควบคุมบนฟอร์มที่ซ่อนอยู่ได้
เคล็ดลับ: คุณสามารถใช้แมโครแอคชัน GoToControl เพื่อย้ายไปยัง ฟอร์มย่อย ซึ่งเป็นตัวควบคุมชนิดหนึ่ง จากนั้นคุณสามารถใช้แอคชัน GoToRecord เพื่อย้ายไปยังระเบียนที่ระบุในฟอร์มย่อยได้ คุณยังสามารถย้ายไปยังตัวควบคุมบน ฟอร์มย่อย ได้โดยใช้แอคชัน GoToControl เพื่อย้ายไปยังฟอร์มย่อยก่อน แล้วไปยังตัวควบคุมบนฟอร์มย่อย
เมื่อต้องการเรียกใช้แอคชัน GoToControl ในโมดูล Visual Basic for Applications (VBA) ให้ใช้เมธอด GoToControl ของวัตถุ DoCmd คุณยังสามารถใช้เมธอด SetFocus เพื่อย้ายโฟกัสไปยังตัวควบคุมบนฟอร์มหรือฟอร์มย่อยใดๆ ของฟอร์มหรือไปยังเขตข้อมูลในตาราง คิวรี หรือแผ่นข้อมูลฟอร์มที่เปิดอยู่
ตัวอย่าง
ตั้งค่าของตัวควบคุมโดยใช้แมโคร
แมโครต่อไปนี้จะเปิดฟอร์ม เพิ่มผลิตภัณฑ์ จากปุ่มบนฟอร์ม ผู้จําหน่าย ซึ่งจะแสดงการใช้การดําเนินการ Echo, Close, OpenForm, SetValue และ GoToControl การดําเนินการ SetValue จะตั้งค่าตัวควบคุม ID ผู้จําหน่ายบนฟอร์มผลิตภัณฑ์ให้กับผู้จัดจําหน่ายปัจจุบันบนฟอร์มผู้ขาย การดําเนินการ GoToControl จะย้ายโฟกัสไปยังเขตข้อมูลรหัสประเภท ซึ่งคุณสามารถเริ่มใส่ข้อมูลสําหรับผลิตภัณฑ์ใหม่ได้ แมโครนี้ควรถูกแนบกับปุ่ม เพิ่มผลิตภัณฑ์ บนฟอร์มผู้จําหน่าย
การดำเนินการ |
อาร์กิวเมนต์: การตั้งค่า |
ข้อคิดเห็น |
Echo |
ก้องบน: ไม่ |
หยุดการอัปเดตหน้าจอในขณะที่แมโครกําลังทํางาน |
ปิด |
ชนิดของวัตถุ: ฟอร์ม ชื่อวัตถุ: รายการผลิตภัณฑ์ บันทึก: ไม่ |
ปิดฟอร์มรายการผลิตภัณฑ์ |
OpenForm |
ชื่อฟอร์ม: ผลิตภัณฑ์ มุมมอง: ฟอร์ม โหมดข้อมูล: เพิ่ม โหมดหน้าต่าง: ปกติ |
เปิดฟอร์มผลิตภัณฑ์ |
SetValue |
รายการ: [Forms]![ ผลิตภัณฑ์]! [SupplierID] นิพจน์: SupplierID |
ตั้งค่าตัวควบคุม ID ผู้จําหน่ายเป็นผู้จัดจําหน่ายปัจจุบันบนฟอร์ม ผู้จําหน่าย |
GoToControl |
ชื่อตัวควบคุม: CategoryID |
ไปที่ตัวควบคุม รหัสประเภท |
ตรวจสอบความถูกต้องของข้อมูลโดยใช้แมโคร
แมโครการตรวจสอบความถูกต้องต่อไปนี้จะตรวจสอบรหัสไปรษณีย์ที่ใส่ในฟอร์มผู้จําหน่าย ซึ่งจะแสดงการใช้การดําเนินการ StopMacro, MessageBox, CancelEvent และ GoToControl นิพจน์เงื่อนไขจะตรวจสอบประเทศ/ภูมิภาคและรหัสไปรษณีย์ที่ป้อนในเรกคอร์ดบนแบบฟอร์ม ถ้ารหัสไปรษณีย์ไม่อยู่ในรูปแบบที่ถูกต้องสําหรับประเทศ/ภูมิภาค แมโครจะแสดงกล่องข้อความและยกเลิกการบันทึกระเบียน จากนั้นแมโครจะนําคุณกลับไปยังตัวควบคุมรหัสไปรษณีย์ที่คุณสามารถแก้ไขข้อผิดพลาดได้ แมโครนี้ควรถูกแนบกับคุณสมบัติ BeforeUpdate ของฟอร์ม Suppliers
เงื่อนไข |
การดำเนินการ |
อาร์กิวเมนต์: การตั้งค่า |
ข้อคิดเห็น |
If IsNull([CountryRegion]) |
StopMacro |
ถ้า CountryRegion เป็น Null จะไม่สามารถตรวจสอบความถูกต้องของรหัสไปรษณีย์ได้ |
|
ถ้า [ภูมิภาคประเทศ] ใน ("ฝรั่งเศส","อิตาลี","สเปน") และ Len([รหัสไปรษณีย์]) <> 5 |
กล่องข้อความ |
ข้อความ: รหัสไปรษณีย์ต้องมีอักขระ 5 ตัว ส่งเสียงปี๊บ: ใช่ ชนิด: ข้อมูล ชื่อเรื่อง: ข้อผิดพลาดของรหัสไปรษณีย์ |
ถ้ารหัสไปรษณีย์มีอักขระที่ไม่ใช่ 5 ตัว ให้แสดงข้อความ |
ยกเลิก Event |
ยกเลิกเหตุการณ์ |
||
GoToControl |
ชื่อตัวควบคุม: รหัสไปรษณีย์ |
||
ถ้า [ภูมิภาคประเทศ] ใน ("ออสเตรเลีย","สิงคโปร์") และ Len([รหัสไปรษณีย์]) <> 4 |
กล่องข้อความ |
ข้อความ: รหัสไปรษณีย์ต้องมีอักขระ 4 ตัว ส่งเสียงปี๊บ: ใช่ ชนิด: ข้อมูล ชื่อเรื่อง: ข้อผิดพลาดของรหัสไปรษณีย์ |
ถ้ารหัสไปรษณีย์มีอักขระที่ไม่ใช่ 4 ตัว ให้แสดงข้อความ |
ยกเลิก Event |
ยกเลิกเหตุการณ์ |
||
GoToControl |
ชื่อตัวควบคุม: รหัสไปรษณีย์ |
||
If ([CountryRegion] = "Canada") And ([รหัสไปรษณีย์] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
กล่องข้อความ |
ข้อความ: รหัสไปรษณีย์ไม่ถูกต้อง ตัวอย่างของรหัสแคนาดา: H1J 1C3 ส่งเสียงปี๊บ: ใช่ ชนิด: ข้อมูล ชื่อเรื่อง: ข้อผิดพลาดของรหัสไปรษณีย์ |
ถ้ารหัสไปรษณีย์ไม่ถูกต้องสําหรับแคนาดา ให้แสดงข้อความ (ตัวอย่างของรหัสแคนาดา: H1J 1C3) |
ยกเลิก Event |
ยกเลิกเหตุการณ์ |