บทนำสู่การเขียนโปรแกรมใน Access

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

ในบทความนี้

การเขียนโปรแกรมคืออะไร

ฉันควรใช้แมโครหรือฉันควรใช้โค้ด VBA

ใช้ตัวช่วยสร้างปุ่มคำสั่งเพื่อทำงานเขียนโปรแกรมทั่วไป

ทำความเข้าใจเกี่ยวกับแมโคร

ทำความเข้าใจโค้ด VBA

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

อะไรคือการเขียนโปรแกรม

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

หมายเหตุ: Microsoft Office หลายโปรแกรมใช้คำว่า "แมโคร" เพื่อสื่อถึงโค้ด VBA ซึ่งอาจทำให้เกิดความสับสนกับผู้ใช้ Access เนื่องจากคำว่า "แมโคร" ใน Access สื่อถึงคอลเลกชันที่มีชื่อของแมโครแอคชันที่คุณสามารถรวบรวมขึ้นโดยใช้ตัวสร้างแมโคร แมโครแอคชัน Access แสดงถึงชุดย่อยของคำสั่งที่พร้อมใช้งานใน VBA เท่านั้น ตัวสร้างแมโครให้ส่วนติดต่อที่มีโครงสร้างกว่า Visual Basic Editor ทำให้คุณสามารถเพิ่มการเขียนโปรแกรมไปยังตัวควบคุมและวัตถุได้โดยไม่ต้องเรียนรู้โค้ด VBA คุณควรจำไว้ว่า ในบทความวิธีใช้ Access แมโครของ Access จะถูกเรียกว่าแมโคร ในทางกลับกัน โค้ด VBA จะถูกเรียกว่า VBA โค้ด ฟังก์ชัน หรือกระบวนงาน โค้ด VBA จะอยู่ในคลาสมอดูล (ซึ่งเป็นส่วนหนึ่งของแต่ละแบบฟอร์มหรือรายงาน และมักประกอบด้วยโค้ดสำหรับวัตถุเหล่านั้น) และในโมดูล (ซึ่งจะไม่ถูกผูกกับวัตถุที่เฉพาะเจาะจง และจะประกอบด้วยโค้ด "ส่วนกลาง" ที่สามารถใช้ทั่วทั้งฐานข้อมูล)

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

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

ฉันควรใช้แมโครหรือฉันควรใช้โค้ด VBA

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

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

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

ข้อพิจารณาแมโคร

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

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

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

  • กำหนดการกระทำหรือชุดของการกระทำให้กับแป้นหนึ่ง ซึ่งจำเป็นต้องมีการสร้างกลุ่มแมโครที่ชื่อว่า AutoKeys

  • ดำเนินการกระทำหรือชุดของการกระทำเมื่อฐานข้อมูลเปิดขึ้นครั้งแรก ซึ่งจำเป็นต้องมีการสร้างแมโครที่ชื่อว่า AutoExec

    หมายเหตุ:  แมโคร AutoExec จะเรียกใช้ก่อนแมโครอื่นหรือโค้ด VBA แม้ว่าคุณจะกำหนดฟอร์มเริ่มต้นในกล่องโต้ตอบ ตัวเลือก Access และแนบแมโครหรือโค้ด VBA ไว้กับเหตุการณ์ OnOpen หรือ OnLoad ของฟอร์มก็ตาม

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

ข้อพิจารณา VBA

คุณควรใช้การเขียนโปรแกรม VBA แทนแมโครถ้าคุณต้องการทำต่อไปนี้:

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

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

  • ดำเนินการกระทำระดับระบบ    คุณสามารถดำเนินการกระทำ RunApp ในแมโครเพื่อเรียกใช้โปรแกรมอื่น (เช่น Microsoft Excel) จากภายใน Access แต่คุณไม่สามารถใช้แมโครเพื่อทำอย่างอื่นภายนอก Access ได้ เมื่อใช้ VBA คุณสามารถตรวจสอบเพื่อดูว่ามีไฟล์อยู่ในคอมพิวเตอร์หรือไม่ ใช้การดำเนินการอัตโนมัติหรือ Dynamic Data Exchange (DDE) เพื่อสื่อสารกับโปรแกรม Microsoft Windows อื่นๆ เช่น Excel และเรียกฟังก์ชันจาก Windows Dynamics-link Library (DLL) ได้

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

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

ใช้ตัวช่วยสร้างปุ่มคำสั่งเพื่อทำงานเขียนโปรแกรมทั่วไป

ถ้าคุณกำลังเพิ่มปุ่มคำสั่งลงในฟอร์ม ตัวช่วยสร้างปุ่มคำสั่งสามารถช่วยคุณเริ่มต้นกับการเขียนโปรแกรมได้ ตัวช่วยสร้างจะช่วยคุณสร้างปุ่มคำสั่งที่ทำงานที่เฉพาะเจาะจง ในไฟล์ Access (.accdb) ตัวช่วยสร้างจะสร้างแมโครที่ถูกฝังตัวในคุณสมบัติ OnClick ของปุ่มคำสั่ง ในไฟล์.mdb หรือ .adp ตัวช่วยสร้างจะสร้างโค้ด VBA เนื่องจากแมโครที่ฝังไว้จะใช้งานไม่ได้ในรูปแบบไฟล์เหล่านั้น ไม่ว่ากรณีใดก็ตาม คุณสามารถปรับเปลี่ยนหรือปรับปรุงแมโครหรือโค้ด VBA เพื่อให้ตรงตามความต้องการของคุณมากขึ้นได้

  1. ในบานหน้าต่างนำทาง คลิกขวาที่ฟอร์มที่คุณต้องการเพิ่มปุ่มคำสั่ง จากนั้นคลิก มุมมองออกแบบ

  2. บนแท็บ ออกแบบ ให้คลิกลูกศรลงเพื่อแสดงแกลเลอรี ตัวควบคุม จากนั้นตรวจสอบให้แน่ใจว่าได้เลือก ใช้ตัวช่วยสร้างตัวควบคุม ไว้

  3. บนแท็บ ออกแบบ ในแกลเลอรี ตัวควบคุม คลิก ปุ่ม

  4. ในตารางออกแบบฟอร์ม คลิกตำแหน่งที่คุณต้องการวางปุ่มคำสั่ง

    ตัวช่วยสร้างปุ่มคำสั่งจะเริ่มต้น

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

  6. คลิกตัวเลือก ข้อความ หรือ รูปภาพ ขึ้นอยู่กับว่าคุณต้องการให้ข้อความหรือรูปภาพแสดงบนปุ่มคำสั่ง

    • ถ้าคุณต้องการให้แสดงข้อความ คุณสามารถแก้ไขข้อความในกล่องถัดจากตัวเลือก ข้อความ ได้

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

      คลิก ถัดไป

  7. ใส่ชื่อที่มีความหมายสำหรับปุ่มคำสั่ง นี่คือขั้นตอนเสริม และชื่อนี้จะไม่แสดงบนปุ่มคำสั่ง อย่างไรก็ตาม การใส่ชื่อที่มีความหมายเป็นไอเดียที่ดี เพื่อที่เวลาคุณต้องการอ้างถึงปุ่มคำสั่งในภายหลัง (ตัวอย่างเช่น ถ้าคุณกำลังตั้งลำดับแท็บสำหรับตัวควบคุมบนฟอร์มของคุณ) คุณจะสามารถแยกความแตกต่างระหว่างปุ่มคำสั่งได้ง่ายขึ้น ถ้าปุ่มคำสั่งปิดฟอร์ม คุณอาจตั้งชื่อว่า cmdClose หรือ CommandClose

  8. คลิก เสร็จสิ้น

    Access จะวางปุ่มคำสั่งบนฟอร์ม

  9. ถ้าคุณต้องการดูว่าตัวช่วยสร้าง "เขียนโปรแกรม" อะไรให้คุณ ให้ทำตามขั้นตอนต่อไปนี้:

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

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

    3. ในกล่องคุณสมบัติ On Click คลิกปุ่ม สร้าง รูปปุ่ม

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

  10. บนแท็บ ออกแบบ ในกลุ่ม มุมมอง ให้คลิก มุมมอง จากนั้นคลิก มุมมองฟอร์ม คลิกที่ปุ่มคำสั่งใหม่เพื่อยืนยันว่าปุ่มทำงานตามปกติ

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

ทำความเข้าใจเกี่ยวกับแมโคร

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

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

คุณสามารถสร้างแมโครโดยใช้ตัวสร้างแมโครได้ ซึ่งจะแสดงในภาพประกอบต่อไปนี้

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

หมายเหตุ: หมายเหตุ ตัวสร้างแมโครใน Access 2007 แตกต่างจากในรูปภาพด้านบน ใน Access 2007 ตัวสร้างแมโครคือชุดของแถวและคอลัมน์ที่อยู่ในรายการการกระทำต่างๆ ของแมโครของคุณ

เมื่อต้องการแสดงตัวสร้างแมโคร:

  • บนแท็บ สร้าง ในกลุ่ม แมโครและโค้ด ให้คลิก แมโคร

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

ทำความเข้าใจโค้ด VBA

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

วิธีรวดเร็วในการเริ่มต้นกับการเขียนโปรแกรม VBA คือเริ่มสร้างแมโคร Access ก่อน จากนั้นแปลงให้เป็นโค้ด VBA คำแนะนำสำหรับการทำเช่นนี้สามารถดูได้ในส่วน แปลงแมโครเป็นโค้ด VBA ฟีเจอร์นี้จะสร้างโมดูล VBA ใหม่ที่ดำเนินการกระทำที่เทียบเท่ากับแมโคร และจะเปิด Visual Basic Editor เพื่อให้คุณสามารถเริ่มปรับเปลี่ยนกระบวนงานได้เช่นกัน เมื่อคุณกำลังทำงานใน Visual Basic Editor คุณสามารถคลิกคำสำคัญแล้วกด F1 เพื่อเริ่ม Access Developer Help และเรียนรู้เพิ่มเติมเกี่ยวกับแต่ละคำสำคัญได้ จากนั้นคุณสามารถสำรวจ Access Developer Help และค้นพบคำสั่งใหม่ๆ เพื่อช่วยคุณทำงานเขียนโปรแกรมที่คุณต้องการ

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

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

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

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

แปลงแมโครที่แนบอยู่กับฟอร์มหรือรายงาน

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

  1. ในบานหน้าต่างนำทาง คลิกขวาฟอร์มหรือรายงาน จากนั้นคลิก มุมมองออกแบบ

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

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

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

  4. เมื่อต้องการดูและแก้ไขโค้ด VBA:

    1. ในขณะที่ฟอร์มหรือรายงานยังคงเปิดอยู่ในมุมมองออกแบบ ถ้าแผ่นคุณสมบัติไม่แสดงขึ้นมา ให้กด F4 เพื่อแสดง

    2. บนแท็บ เหตุการณ์ ของแผ่นคุณสมบัติ คลิกในกล่องคุณสมบัติใดๆ ที่แสดง [กระบวนงานเหตุการณ์] จากนั้นคลิกปุ่มสร้าง รูปปุ่ม เมื่อต้องการดูกระบวนงานเหตุการณ์สำหรับตัวควบคุมเฉพาะ ให้คลิกตัวควบคุมเพื่อเลือก เมื่อต้องการดูกระบวนงานเหตุการณ์สำหรับทั้งฟอร์มหรือรายงาน ให้เลือก ฟอร์ม หรือ รายงาน จากรายการดรอปดาวน์ที่ด้านบนของแผ่นคุณสมบัติ

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

แปลงแมโครส่วนกลาง

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

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

  3. ในกล่องโต้ตอบ แปลงแมโคร เลือกตัวเลือกที่คุณต้องการ จากนั้นคลิก แปลง

    Access จะแปลงแมโครและเปิด Visual Basic Editor

  4. เมื่อต้องการดูและแก้ไขโค้ด VBA:

    1. ใน Visual Basic Editor ถ้าบานหน้าต่าง Project Explorer ไม่แสดง บนเมนู มุมมอง ให้คลิก Project Explorer

    2. ขยายแผนภูมิใต้ชื่อของฐานข้อมูลที่คุณกำลังทำงานอยู่

    3. ใต้ โมดูล ดับเบิลคลิกโมดูลชื่อแมโคร แมโครที่แปลงแล้ว

      Visual Basic Editor จะเปิดโมดูลขึ้น

แนบฟังก์ชัน VBA ลงในคุณสมบัติเหตุการณ์

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

  1. ใน Visual Basic Editor ให้จดบันทึกชื่อฟังก์ชันไว้ ตัวอย่างเช่น ถ้าคุณแปลงแมโครที่ชื่อว่า MyMacro ชื่อฟังก์ชันจะเป็น MyMacro()

  2. ปิด Visual Basic Editor

  3. ในบานหน้าต่างนำทาง คลิกขวาที่ฟอร์มหรือรายงานที่คุณต้องการเชื่อมโยงฟังก์ชัน จากนั้นคลิก มุมมองออกแบบ

  4. คลิกตัวควบคุมหรือส่วนที่คุณต้องการเชื่อมโยงฟังก์ชัน

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

  6. บนแท็บ เหตุการณ์ ของแผ่นคุณสมบัติ คลิกกล่องคุณสมบัติเหตุการณ์ที่คุณต้องการเชื่อมโยงฟังก์ชัน

  7. ในกล่องคุณสมบัติ พิมพ์เครื่องหมายเท่ากับ (=) ตามด้วยชื่อของฟังก์ชัน ตัวอย่างเช่น =MyMacro() ตรวจสอบให้แน่ใจว่าคุณใส่วงเล็บแล้ว

  8. บันทึกฟอร์มหรือรายงานโดยคลิกที่ บันทึก บนแถบเครื่องมือด่วน

  9. ในบานหน้าต่างนำทาง ดับเบิลคลิกฟอร์มหรือรายงาน และทดสอบดูว่าโค้ดที่ทำงานตามที่ควรหรือไม่

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

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

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×