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

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

หมายเหตุ: บทความนี้ใช้ไม่ได้กับ Access Web App

ในบทความนี้

ภาพรวม

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

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

ด้านบนของหน้า

ตัวสร้างแมโคร

ต่อไปนี้เป็นไฮไลต์คุณสมบัติหลักบางอย่างของตัวสร้างแมโคร

  • แค็ตตาล็อกการกระทํา    แมโครแอคชันจะจัดระเบียบตามชนิดและค้นหาได้

  • IntelliSense    เมื่อพิมพ์นิพจน์ IntelliSense จะแนะนําค่าที่เป็นไปได้และให้คุณเลือกค่าที่ถูกต้อง

  • แป้นพิมพ์ลัด    ใช้การกดแป้นพิมพ์พร้อมกันเพื่อการเขียนแมโครที่เร็วขึ้นและง่ายขึ้น

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

  • คําสั่งแบบมีเงื่อนไข    อนุญาตสําหรับการดําเนินการตรรกะที่ซับซ้อนมากขึ้นด้วยการสนับสนุน If/Else/Else If ที่ซ้อนกัน

  • การนําแมโครมาใช้ใหม่    แค็ตตาล็อกแอคชันจะแสดงแมโครอื่นๆ ที่คุณสร้างขึ้น เพื่อให้คุณคัดลอกแมโครเหล่านั้นลงในแมโครที่คุณกําลังทํางานอยู่ได้

  • แชร์ได้ง่ายขึ้น    คัดลอกแมโคร แล้ววางเป็น XML ลงในอีเมล โพสต์กลุ่มข่าวสาร บล็อก หรือเว็บไซต์ตัวอย่างโค้ด

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

เบราว์เซอร์ของคุณไม่สนับสนุนวิดีโอ ติดตั้ง Microsoft Silverlight, Adobe Flash Player หรือ Internet Explorer 9

ด้านบนของหน้า

สร้างแมโครแบบสแตนด์อโลน

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

  1. บนแท็บ สร้าง ในกลุ่ม แมโครและโค้ด ให้คลิก แมโครAccess จะเปิดตัวสร้างแมโคร

  2. บน แถบเครื่องมือด่วน ให้คลิก บันทึก

  3. ในกล่องโต้ตอบ บันทึกเป็น ให้พิมพ์ชื่อสําหรับแมโคร แล้วคลิก ตกลง

  4. ดําเนินการต่อด้วยส่วน เพิ่มแอคชันลงในแมโคร

ด้านบนของหน้า

สร้างแมโครฝังตัว

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

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

  1. ในบานหน้าต่างนําทาง ให้คลิกขวาที่ฟอร์มหรือรายงานที่มีแมโคร แล้วคลิก มุมมองเค้าโครง

  2. ถ้าแผ่นคุณสมบัติไม่ได้แสดงอยู่แล้ว ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ

  3. คลิกตัวควบคุมหรือส่วนที่มีคุณสมบัติเหตุการณ์ที่คุณต้องการฝังแมโคร คุณยังสามารถเลือกตัวควบคุมหรือส่วน (หรือทั้งฟอร์มหรือรายงาน) โดยใช้รายการดรอปดาวน์ภายใต้ ชนิดการเลือก ที่ด้านบนของแผ่นคุณสมบัติ

  4. ในบานหน้าต่างงาน แผ่นคุณสมบัติ ให้คลิกแท็บ เหตุการณ์

  5. คลิกในกล่องคุณสมบัติสําหรับเหตุการณ์ที่คุณต้องการทริกเกอร์แมโคร ตัวอย่างเช่น สําหรับปุ่มคําสั่ง ถ้าคุณต้องการให้แมโครทํางานเมื่อคลิกปุ่ม ให้คลิกในกล่องคุณสมบัติ เมื่อคลิก  

  6. ถ้ากล่องคุณสมบัติมีคําว่า [แมโครฝังตัว] แสดงว่ามีการสร้างแมโครสําหรับเหตุการณ์นี้แล้ว คุณสามารถแก้ไขแมโครได้โดยทําตามขั้นตอนที่เหลือในกระบวนงานนี้ต่อไป

  7. ถ้ากล่องคุณสมบัติมีคําว่า [กระบวนงานเหตุการณ์] ซึ่งหมายความว่ากระบวนงาน Visual Basic for Applications (VBA) ได้ถูกสร้างสําหรับเหตุการณ์นี้แล้ว ก่อนที่คุณจะสามารถฝังแมโครในเหตุการณ์คุณจะต้องเอากระบวนงานออก คุณสามารถทําได้โดยการลบคําว่า [Event Procedure] แต่คุณควรตรวจสอบกระบวนงานเหตุการณ์ก่อนเพื่อให้แน่ใจว่าการเอาออกจะไม่ทําให้ฟังก์ชันการทํางานที่จําเป็นในฐานข้อมูลเสียหาย ในบางกรณี คุณสามารถสร้างฟังก์ชันการทํางานของกระบวนงาน VBA ใหม่ได้โดยใช้แมโครฝังตัว

  8. คลิกปุ่ม สร้าง รูปปุ่ม

  9. ถ้ากล่องโต้ตอบ เลือกตัวสร้าง ปรากฏขึ้น ตรวจสอบให้แน่ใจว่าได้เลือก ตัวสร้างแมโคร แล้ว จากนั้นคลิก ตกลงAccess จะเปิดตัวสร้างแมโคร ดําเนินการต่อด้วยส่วนถัดไปเพื่อเพิ่มแอคชันลงในแมโคร

ด้านบนของหน้า

เพิ่มแอคชันลงในแมโคร

แอคชันคือคําสั่งแต่ละคําสั่งที่สร้างแมโคร และแต่ละคําสั่งจะมีชื่อตามสิ่งที่แมโครทํา ตัวอย่างเช่น FindRecord หรือ CloseDatabase

ขั้นตอนที่ 1: เรียกดูหรือค้นหาแมโครแอคชัน

ขั้นตอนแรกในการเพิ่มการกระทําจะพบการดําเนินการนั้นในรายการดรอปดาวน์ เพิ่มการดําเนินการใหม่ หรือในแค็ตตาล็อกการกระทํา

หมายเหตุ: 

  • ตามค่าเริ่มต้น รายการดรอปดาวน์ เพิ่มการดําเนินการใหม่ และ แค็ตตาล็อกแอคชัน จะแสดงเฉพาะการกระทําที่จะดําเนินการในฐานข้อมูลที่ไม่น่าเชื่อถือเท่านั้น เมื่อต้องการดูการดําเนินการทั้งหมด:

    • บนแท็บ ออกแบบ ในกลุ่ม แสดง/ซ่อน ให้คลิก แสดงการกระทําทั้งหมด

  • ถ้าแค็ตตาล็อกการกระทําไม่แสดง บนแท็บ ออกแบบ ในกลุ่ม แสดง/ซ่อน ให้คลิก แค็ตตาล็อกการกระทํา

เมื่อต้องการค้นหาการดําเนินการ ให้ใช้วิธีการใดวิธีการหนึ่งต่อไปนี้

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

  • เรียกดูการกระทําในบานหน้าต่าง แค็ตตาล็อกการกระทํา การดําเนินการจะจัดกลุ่มตามประเภท ขยายแต่ละประเภทเพื่อดูการดําเนินการ ถ้าคุณเลือกการดําเนินการ คําอธิบายสั้นๆ ของการดําเนินการจะปรากฏขึ้นที่ด้านล่างของแค็ตตาล็อกการดําเนินการ

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

ขั้นตอนที่ 2: เพิ่มแอคชันลงในแมโคร

เมื่อคุณพบแมโครแอคชันที่คุณต้องการแล้ว ให้เพิ่มลงในแมโครโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

  • เลือกการกระทําในรายการ เพิ่มการกระทําใหม่ หรือเพียงเริ่มพิมพ์ชื่อการกระทําในกล่อง Access จะเพิ่มการกระทําณ จุดที่รายการ เพิ่มการกระทําใหม่ แสดงอยู่

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

  • ดับเบิลคลิกที่แอคชันในแค็ตตาล็อกแอคชัน

    • ถ้ามีการเลือกแอคชันในบานหน้าต่างแมโคร Access จะเพิ่มการกระทําใหม่ไว้ใต้แอคชันที่เลือก

    • ถ้ามีการเลือกบล็อก จัดกลุ่ม, If, Else หรือ Submacro ในบานหน้าต่างแมโคร Access จะเพิ่มแอคชันใหม่ลงในบล็อกนั้น

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

      หมายเหตุ: 

      • ถ้าคุณสร้างแมโครไว้แล้วอย่างน้อยหนึ่งแมโคร แมโครเหล่านั้นจะแสดงรายการอยู่ภายใต้โหนด ในฐานข้อมูลนี้ ในแค็ตตาล็อกแอคชัน

        • การลากแมโครแบบสแตนด์อโลน (แมโครที่แสดงอยู่ภายใต้ แมโคร) ไปไว้ในบานหน้าต่างแมโครจะสร้างแอคชัน RunMacro ที่จะเรียกใช้แมโครที่คุณลากเข้ามา จากนั้นคุณสามารถใช้รายการดรอปดาวน์เพื่อเรียกแมโครย่อยได้ ถ้ามี

        • ถ้าคุณเพียงต้องการคัดลอกแอคชันจากแมโครแบบสแตนด์อโลนลงในแมโครปัจจุบัน (แทนที่จะสร้างแอคชัน RunMacro) ให้คลิกขวาที่แอคชันในแค็ตตาล็อกแอคชัน แล้วคลิก เพิ่มสําเนาของแมโคร

        • การลากแมโครที่ฝังตัว (แมโครที่แสดงอยู่ภายใต้วัตถุฟอร์มหรือรายงาน) ลงในบานหน้าต่างแมโครจะคัดลอกแอคชันจากแมโครนั้นลงในแมโครปัจจุบัน

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

ขั้นตอนที่ 3: เติมอาร์กิวเมนต์

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

การใช้ IntelliSense ในการป้อนนิพจน์

เมื่อคุณเห็นค่าที่คุณต้องการใช้ ให้เพิ่มค่านั้นลงในนิพจน์ของคุณด้วยการดับเบิลคลิกที่ค่านั้นหรือใช้แป้นลูกศรเพื่อเน้น แล้วกดแป้น TAB หรือ ENTER

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างนิพจน์ ให้ดูบทความ บทนําสู่นิพจน์

เกี่ยวกับการใช้ IntelliSense กับคุณสมบัติในฐานข้อมูลเว็บ

เมื่อคุณกําลังสร้างแมโคร UI ที่ฝังตัวบนฟอร์มที่เข้ากันได้กับเว็บ IntelliSense จะช่วยให้คุณสามารถเพิ่มคุณสมบัติฟอร์มใดๆ ลงในนิพจน์ได้ อย่างไรก็ตาม ในฐานข้อมูลบนเว็บ สามารถเข้าถึงได้เฉพาะชุดย่อยของคุณสมบัติฟอร์มเท่านั้นโดยใช้แมโคร UI ตัวอย่างเช่น เมื่อกําหนดตัวควบคุมที่ชื่อว่า Control1 บนฟอร์มที่ชื่อ Form1 IntelliSense จะให้คุณเพิ่ม [Forms]! [ฟอร์ม 1]! [Control1] [ControlSource] ไปยังนิพจน์ในแมโคร UI อย่างไรก็ตาม ถ้าคุณประกาศฐานข้อมูลไปยัง Access Services แมโครที่มีนิพจน์นั้นจะสร้างข้อผิดพลาดเมื่อเรียกใช้บนเซิร์ฟเวอร์

ตารางต่อไปนี้แสดงคุณสมบัติที่คุณสามารถใช้ในแมโคร UI ในฐานข้อมูลเว็บ:

วัตถุหรือตัวควบคุม

คุณสมบัติที่คุณสามารถใช้ได้

ฟอร์ม

Caption, Dirty, AllowAdditions, AllowDeletions, AllowEdits

ตัวควบคุมแท็บ

ปรากฏ

ป้ายผนึก

คําอธิบายภาพ, มองเห็นได้, สีหน้ากระดาษ, สีพื้นหลัง

สิ่งที่แนบมา

มองเห็นได้ เปิดใช้งาน

ปุ่มคําสั่ง

คําอธิบายภาพ, มองเห็นได้, เปิดใช้งาน, สีหน้า

Tex tBox

Enabled, Visible, Locked, Fore Color, Back Color, value

กล่องกาเครื่องหมาย

เปิดใช้งาน มองเห็นได้ ถูกล็อก ค่า

รูป

มองเห็นได้, สีพื้นหลัง

กล่องคําสั่งผสม

เปิดใช้งาน มองเห็นได้ ถูกล็อก ค่า

กล่องรายการ

เปิดใช้งาน มองเห็นได้ ถูกล็อก ค่า

เบราว์เซอร์

ปรากฏ

ฟอร์มย่อย

เปิดใช้งาน, มองเห็นได้ล็อกอยู่

ตัวควบคุมการนําทาง

เปิดใช้งาน มองเห็นได้

ย้ายการดําเนินการ

การดําเนินการจะดําเนินการตามลําดับ จากบนลงล่างของแมโคร เมื่อต้องการย้ายแอคชันขึ้นหรือลงในแมโคร ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

  • ลากการกระทําขึ้นหรือลงไปยังตําแหน่งที่คุณต้องการ

  • เลือกการดําเนินการ แล้วกด CTRL + ลูกศรขึ้น หรือ CTRL + ลูกศรลง

  • เลือกการดําเนินการ แล้วคลิกลูกศร ย้ายขึ้น หรือ ย้ายลง ทางด้านขวาของบานหน้าต่างแมโคร

ลบการดําเนินการ

เมื่อต้องการลบแมโครแอคชัน:

  • เลือกการกระทํา แล้วกดแป้น DELETE อีกวิธีหนึ่งคือ คุณสามารถคลิกปุ่ม ลบ (X) ทางด้านขวาของบานหน้าต่างแมโคร

    หมายเหตุ: 

    • ถ้าคุณลบบล็อกการดําเนินการ เช่น บล็อก If หรือบล็อก กลุ่ม การดําเนินการทั้งหมดในบล็อกจะถูกลบด้วย

    • คําสั่ง ย้ายขึ้น, ย้ายลง และ ลบ ยังพร้อมใช้งานบนเมนูทางลัดที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่แมโครแอคชัน

ด้านบนของหน้า

ควบคุมลําดับโปรแกรมด้วย If, Else If และ Else

เมื่อต้องการดําเนินการแมโครแอคชันเฉพาะเมื่อเงื่อนไขบางอย่างเป็นจริง ให้คุณใช้บล็อก If ซึ่งจะแทนที่คอลัมน์ เงื่อนไข ที่ใช้ใน Access เวอร์ชันก่อนหน้า คุณสามารถขยายบล็อก If ด้วยการบล็อก Else If และ Else ซึ่งคล้ายกับภาษาการเขียนโปรแกรมตามลําดับอื่นๆ เช่น VBA

ภาพประกอบต่อไปนี้แสดงบล็อก If อย่างง่าย รวมถึงบล็อก Else If and Else :

แมโครที่มีคำสั่ง If/Else If/Else

บล็อก If จะดําเนินการถ้าฟิลด์ ExpirationDate น้อยกว่าวันที่ปัจจุบัน

บล็อก Else If จะดําเนินการถ้าฟิลด์ ExpirationDate เท่ากับวันที่ปัจจุบัน

บล็อก Else จะทํางานหากไม่มีบล็อกใดก่อนหน้าทํางาน

บล็อก If จะสิ้นสุดที่นี่

เพิ่มบล็อก If ลงในแมโคร

  1. เลือก ถ้า จากรายการดรอปดาวน์ เพิ่มการดําเนินการใหม่ หรือลากจากบานหน้าต่าง แค็ตตาล็อกการกระทํา ไปยังบานหน้าต่างแมโคร

  2. ในกล่องด้านบนสุดของบล็อก If ให้พิมพ์นิพจน์ที่กําหนดว่าจะดําเนินการบล็อกเมื่อใด นิพจน์ต้องเป็นบูลีน (นั่นคือ นิพจน์ที่ประเมินเป็น ใช่ หรือ ไม่ใช่)

  3. เพิ่มการกระทําลงในบล็อก If ด้วยการเลือกแอคชันเหล่านั้นจากรายการดรอปดาวน์ เพิ่มการกระทําใหม่ ที่ปรากฏขึ้นภายในบล็อก หรือโดยการลากจากบานหน้าต่าง แค็ตตาล็อกการกระทํา ไปยังบล็อก If

เพิ่มบล็อก Else หรือ Else If ลงในบล็อก If

  1. เลือก บล็อก If จากนั้นที่มุมล่างขวาของบล็อก ให้คลิก Add Else หรือ Add Else If

  2. ถ้าคุณกําลังเพิ่มบล็อก Else If ให้พิมพ์นิพจน์ที่กําหนดว่าจะดําเนินการบล็อกเมื่อใด นิพจน์ต้องเป็นบูลีน (ซึ่งก็คือนิพจน์ที่ประเมินเป็น True หรือ False)

  3. เพิ่มการกระทําลงในบล็อก Else If หรือ Else โดยเลือกจากรายการดรอปดาวน์ เพิ่มการดําเนินการใหม่ ที่ปรากฏขึ้นภายในบล็อก หรือลากจากบานหน้าต่าง แค็ตตาล็อกการกระทํา ไปยังบล็อก

    หมายเหตุ: 

    • คําสั่งในการเพิ่ม บล็อก If, Else If และ Else จะพร้อมใช้งานบนเมนูทางลัดที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่แมโครแอคชัน

    • หาก บล็อกสามารถซ้อนกันได้สูงถึง 10 ระดับ

ด้านบนของหน้า

สร้างแมโครย่อย

แต่ละแมโครสามารถมีแมโครย่อยหลายรายการได้ แมโครย่อยได้รับการออกแบบให้เรียกตามชื่อจากแมโครแอคชัน RunMacro หรือ OnError

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

หมายเหตุ: 

  • คุณยังสามารถสร้างบล็อกแมโครย่อยได้โดยการเลือกการดําเนินการอย่างน้อยหนึ่งรายการ คลิกขวาที่การดําเนินการแล้วเลือก สร้างบล็อกแมโครย่อย

  • แมโครย่อยต้องเป็นบล็อกสุดท้ายในแมโครเสมอ คุณไม่สามารถเพิ่มการดําเนินการใดๆ (ยกเว้นแมโครย่อยเพิ่มเติม) ที่ด้านล่างของแมโครย่อยได้ ถ้าคุณเรียกใช้แมโครที่มีเฉพาะแมโครย่อยเท่านั้น โดยไม่มีการตั้งชื่อแมโครย่อยที่คุณต้องการ เฉพาะแมโครย่อยแรกเท่านั้นที่จะทํางาน

  • เมื่อต้องการเรียกใช้แมโครย่อย (ตัวอย่างเช่น ในคุณสมบัติเหตุการณ์ หรือใช้การดําเนินการ RunMacro หรือแอคชัน OnError ) ให้ใช้ไวยากรณ์ต่อไปนี้: macroname.submacroname

ด้านบนของหน้า

จัดกลุ่มการกระทําที่เกี่ยวข้องกันไว้ด้วยกัน

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

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

  1. เลือกการกระทําที่คุณต้องการจัดกลุ่ม

  2. คลิกขวาที่การกระทําที่เลือก แล้วคลิก ทําให้เป็นบล็อกกลุ่ม

  3. ในกล่องที่ด้านบนของบล็อก กลุ่ม ให้พิมพ์ชื่อสําหรับกลุ่ม

ถ้ายังไม่มีการดําเนินการอยู่ ให้ทําดังนี้

  1. ลากบล็อก กลุ่ม จากแค็ตตาล็อกแอคชันไปยังบานหน้าต่างแมโคร

  2. ในกล่องที่ด้านบนของบล็อก กลุ่ม ให้พิมพ์ชื่อสําหรับกลุ่ม

  3. ลากแมโครแอคชันจากแค็ตตาล็อกแอคชันลงในบล็อก กลุ่ม หรือเลือกการกระทําจากรายการ เพิ่มการดําเนินการใหม่ ที่ปรากฏขึ้นภายในบล็อก

บล็อกกลุ่มสามารถมีบล็อกกลุ่มอื่นๆ และสามารถซ้อนกันได้สูงสุด 9 ระดับ

ด้านบนของหน้า

ขยายและยุบแมโครแอคชันหรือบล็อก

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

ขยายหรือยุบแมโครแอคชันหรือบล็อกเดียว

  • คลิกเครื่องหมายบวก (+) หรือเครื่องหมายลบ (-) ทางด้านซ้ายของแมโครหรือชื่อบล็อก อีกวิธีหนึ่งคือ กดแป้นลูกศรขึ้นและลูกศรลงเพื่อเลือกการกระทําหรือบล็อก แล้วกดแป้นลูกศรซ้ายหรือลูกศรขวาเพื่อยุบหรือขยาย

ขยายหรือยุบแมโครแอคชันทั้งหมด (แต่ไม่บล็อก)

  • บนแท็บ ออกแบบ ในกลุ่ม ยุบ/ขยาย ให้คลิก ขยายการดําเนินการ หรือ ยุบการดําเนินการ

ขยายหรือยุบแมโครแอคชันและบล็อกทั้งหมด

  • บนแท็บ ออกแบบ ในกลุ่ม ยุบ/ขยาย ให้คลิก ขยายทั้งหมด หรือ ยุบทั้งหมด

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

ด้านบนของหน้า

การคัดลอกและวางแมโครแอคชัน

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

เคล็ดลับ: เมื่อต้องการทําซ้ําการกระทําที่เลือกอย่างรวดเร็ว ให้กดแป้น CTRL ค้างไว้แล้วลากการกระทําไปยังตําแหน่งในแมโครที่คุณต้องการคัดลอก

แชร์แมโครกับผู้อื่น

เมื่อคุณคัดลอกแมโครแอคชันไปยังคลิปบอร์ด แอคชันเหล่านั้นสามารถวางเป็น Extensible Markup Language (XML) ลงในแอปพลิเคชันใดๆ ที่ยอมรับข้อความได้ ซึ่งช่วยให้คุณสามารถส่งแมโครไปยังผู้ร่วมงานผ่านทางข้อความอีเมล หรือโพสต์แมโครบนฟอรั่มการสนทนา บล็อก หรือเว็บไซต์อื่นๆ ได้ ผู้รับสามารถคัดลอก XML และวางลงในตัวสร้างแมโคร Access ของพวกเขาได้ แมโครจะถูกสร้างขึ้นใหม่เหมือนกับที่คุณเขียน

การเรียกใช้แมโคร

คุณสามารถเรียกใช้แมโครได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

  • ดับเบิลคลิกที่แมโครในบานหน้าต่างนําทาง

  • เรียกใช้แมโครโดยใช้แมโครแอคชัน RunMacro หรือ OnError

  • ใส่ชื่อแมโครในคุณสมบัติ Event ของวัตถุ แมโครจะทํางานเมื่อเหตุการณ์นั้นถูกทริกเกอร์

ด้านบนของหน้า

แก้จุดบกพร่องแมโคร

ถ้าคุณมีปัญหาในการเรียกใช้แมโคร มีเครื่องมือสองสามอย่างที่คุณสามารถใช้เพื่อหาสาเหตุของปัญหา

เพิ่มแอคชันจัดการข้อผิดพลาดให้กับแมโคร

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

ใช้กระบวนงานต่อไปนี้เพื่อเพิ่มแมโครย่อยการจัดการข้อผิดพลาดลงในแมโคร:

  1. เปิดแมโครในมุมมองออกแบบ

  2. ที่ด้านล่างของแมโคร ให้เลือก แมโครย่อย จากรายการดรอปดาวน์ เพิ่มการดําเนินการใหม่

  3. ในกล่องทางด้านขวาของคําว่า แมโครย่อย ให้พิมพ์ชื่อสําหรับแมโครย่อย เช่น ErrorHandler

  4. จากรายการดรอปดาวน์ เพิ่มการดําเนินการใหม่ ที่ปรากฏขึ้นภายในบล็อกแมโครย่อย ให้เลือกแมโครแอคชัน MessageBox

  5. ในกล่อง ข้อความ ให้พิมพ์ข้อความต่อไปนี้ = =[MacroError][ คําอธิบาย]

  6. ที่ด้านล่างของแมโคร ให้เลือก OnError จากรายการดรอปดาวน์ เพิ่มการดําเนินการใหม่

  7. ตั้งค่าอาร์กิวเมนต์ ไปที่ เป็น ชื่อแมโคร

  8. ในกล่อง ชื่อแมโคร ให้พิมพ์ชื่อของแมโครย่อยการจัดการข้อผิดพลาดของคุณ (ในตัวอย่างนี้คือ ErrorHandler)

  9. ลากแมโครแอคชัน OnError ไปที่ด้านบนของแมโคร

ภาพประกอบต่อไปนี้แสดงแมโครที่มีแอคชัน OnError และแมโครย่อยที่ชื่อ ErrorHandler

แมโครที่มีแมโครย่อยการจัดการข้อผิดพลาด

แมโครแอคชัน OnError จะถูกวางไว้ที่ด้านบนของแมโคร และเรียกใช้แมโครย่อย ErrorHandler ในกรณีที่มีข้อผิดพลาด

แมโครย่อย ErrorHandler จะทํางานก็ต่อเมื่อถูกเรียกใช้โดยการดําเนินการ OnError และแสดงกล่องข้อความที่อธิบายข้อผิดพลาด

ใช้คําสั่ง ขั้นตอนเดียว

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

เมื่อต้องการเริ่มโหมดขั้นตอนเดียว:

  1. เปิดแมโครในมุมมองออกแบบ

  2. บนแท็บ ออกแบบ ในกลุ่ม เครื่องมือ ให้คลิก ขั้นตอนเดียว

  3. บันทึกและปิดแมโคร

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

  • ชื่อแมโคร

  • เงื่อนไข (สําหรับบล็อก If)

  • ชื่อการกระทํา

  • อาร์กิวเมนต์

  • หมายเลขข้อผิดพลาด (หมายเลขข้อผิดพลาด 0 หมายถึงไม่มีข้อผิดพลาดเกิดขึ้น)

เมื่อคุณเลื่อนผ่านการดําเนินการต่างๆ ให้คลิกปุ่มใดปุ่มหนึ่งในสามปุ่มในกล่องโต้ตอบ ดังนี้

  • เมื่อต้องการดูข้อมูลเกี่ยวกับแอคชันถัดไปในแมโคร ให้กด Step

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

  • เมื่อต้องการออกจากโหมด Single Step และเรียกใช้แมโครต่อไป ให้คลิก ดําเนินการต่อ

    หมายเหตุ: 

    • ถ้าคุณกด Step หลังจากแอคชันสุดท้ายในแมโคร โหมด Single Step จะยังคงมีผลในครั้งถัดไปที่คุณเรียกใช้แมโคร

    • เมื่อต้องการเข้าสู่โหมดทีละขั้นในขณะที่แมโครกําลังทํางาน ให้กด CTRL+BREAK

    • เมื่อต้องการเข้าสู่โหมดทีละขั้นที่จุดใดจุดหนึ่งในแมโคร ให้เพิ่มแมโครแอคชัน SingleStep ที่จุดนั้น

    • โหมดขั้นตอนเดียวไม่พร้อมใช้งานในฐานข้อมูลเว็บ

ด้านบนของหน้า

แปลงแมโครเป็นโค้ด VBA

แมโครมีชุดย่อยของคําสั่งที่พร้อมใช้งานในภาษาการเขียนโปรแกรม Visual Basic for Applications (VBA) ถ้าคุณตัดสินใจว่าคุณต้องการฟังก์ชันการทํางานมากกว่าที่แมโครมีให้ คุณสามารถแปลงวัตถุแมโครแบบสแตนด์อโลนเป็นโค้ด VBA ได้อย่างง่ายดาย แล้วใช้ชุดฟีเจอร์ที่ขยายซึ่ง VBA มีให้ อย่างไรก็ตาม โปรดทราบว่า โค้ด VBA จะไม่ทํางานในเบราว์เซอร์ โค้ด VBA ใดๆ ที่คุณเพิ่มลงในฐานข้อมูลบนเว็บจะทํางานเมื่อฐานข้อมูลเปิดอยู่ใน Access เท่านั้น

หมายเหตุ: คุณไม่สามารถแปลงแมโครฝังตัวเป็นโค้ด VBA ได้

เมื่อต้องการแปลงแมโครเป็นโค้ด VBA:

  1. ในบานหน้าต่างนําทาง ให้คลิกขวาที่วัตถุแมโคร แล้วคลิก มุมมองออกแบบ

  2. บนแท็บ ออกแบบ ในกลุ่ม เครื่องมือ ให้คลิก แปลงแมโครเป็น Visual Basic

  3. ในกล่องโต้ตอบ แปลงแมโคร ให้ระบุว่าคุณต้องการให้โค้ดการจัดการข้อผิดพลาดและข้อคิดเห็นเพิ่มลงในมอดูล VBA หรือไม่ แล้วคลิก แปลง

Access จะยืนยันว่าแมโครถูกแปลงและเปิด Visual Basic Editor ดับเบิลคลิกที่แมโครที่แปลงในบานหน้าต่าง โครงการ เพื่อดูและแก้ไขมอดูล

ด้านบนของหน้า

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

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

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

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