เมื่อคุณสร้างฐานข้อมูลใหม่ โดยทั่วไปแล้วคุณจะเริ่มต้นด้วยการสร้างวัตถุฐานข้อมูลหลายวัตถุ เช่น ตาราง ฟอร์ม และรายงาน ในที่สุดคุณก็มาถึงจุดที่คุณต้องเพิ่มการเขียนโปรแกรมบางอย่างเพื่อทําให้กระบวนการบางอย่างเป็นอัตโนมัติและเชื่อมโยงวัตถุฐานข้อมูลของคุณเข้าด้วยกัน บทความนี้จะช่วยคุณเกี่ยวกับเครื่องมือการเขียนโปรแกรมใน Access
ในบทความนี้
อะไรคือการเขียนโปรแกรม
ใน Access การเขียนโปรแกรมคือกระบวนการในการเพิ่มฟังก์ชันการทํางานลงในฐานข้อมูลของคุณโดยใช้ Access แมโครหรือโค้ด Visual Basic for Applications (VBA) ตัวอย่างเช่น สมมติว่าคุณได้สร้างฟอร์มและรายงานแล้ว และคุณต้องการเพิ่มปุ่มคําสั่งลงในฟอร์มซึ่งเมื่อคลิกแล้ว จะเปิดรายงานนั้น การเขียนโปรแกรมในกรณีนี้คือกระบวนการในการสร้างแมโครหรือกระบวนงาน VBA แล้วตั้งค่าคุณสมบัติเหตุการณ์ OnClick ของปุ่มคําสั่งเพื่อให้การคลิกปุ่มคําสั่งเรียกใช้แมโครหรือกระบวนงาน สําหรับการดําเนินการง่ายๆ เช่น การเปิดรายงาน คุณสามารถใช้ตัวช่วยสร้างปุ่มคําสั่งเพื่อทํางานทั้งหมด หรือคุณสามารถปิดตัวช่วยสร้างและเขียนโปรแกรมด้วยตัวคุณเอง
หมายเหตุ: โปรแกรม Microsoft Office หลายโปรแกรมใช้คําว่า "แมโคร" เพื่ออ้างอิงถึงโค้ด VBA ซึ่งอาจสร้างความสับสนให้กับผู้ใช้ Access เนื่องจากใน Access คําว่า "แมโคร" หมายถึงคอลเลกชันของแมโครแอคชันที่มีชื่อซึ่งคุณสามารถประกอบได้โดยใช้ตัวสร้างแมโคร แอคชันของแมโครAccess จะแสดงเฉพาะชุดย่อยของคําสั่งที่พร้อมใช้งานใน VBA เท่านั้น ตัวสร้างแมโครช่วยให้คุณมีส่วนติดต่อที่มีโครงสร้างมากกว่าตัวแก้ไข Visual Basic ซึ่งทําให้คุณสามารถเพิ่มการเขียนโปรแกรมไปยังตัวควบคุมและวัตถุได้โดยไม่ต้องเรียนรู้โค้ด VBA คุณควรจําไว้ว่าในบทความวิธีใช้ Access แมโคร Access เรียกว่าแมโคร ในทางกลับกัน โค้ด VBA เรียกว่า VBA โค้ด ฟังก์ชัน หรือกระบวนงาน โค้ด VBA จะอยู่ในคลาสมอดูล (ซึ่งเป็นส่วนหนึ่งของแต่ละฟอร์มหรือรายงาน และโดยทั่วไปจะมีโค้ดเฉพาะสําหรับวัตถุเหล่านั้น) และในโมดูล (ซึ่งไม่ได้ผูกกับวัตถุเฉพาะ และโดยทั่วไปจะมีโค้ด "ส่วนกลาง" ที่สามารถใช้ได้ทั่วทั้งฐานข้อมูล)
วัตถุ (เช่น ฟอร์มและรายงาน) และตัวควบคุม (เช่น ปุ่มคําสั่งและกล่องข้อความ) มีคุณสมบัติเหตุการณ์ต่างๆ ที่คุณสามารถแนบแมโครหรือกระบวนงานได้ คุณสมบัติเหตุการณ์แต่ละรายการจะเชื่อมโยงกับเหตุการณ์เฉพาะ เช่น การคลิกเมาส์ การเปิดฟอร์ม หรือการปรับเปลี่ยนข้อมูลในกล่องข้อความ เหตุการณ์ยังสามารถถูกทริกเกอร์โดยปัจจัยที่อยู่นอก Access เช่น เหตุการณ์ของระบบ หรือโดยแมโครหรือกระบวนงานที่แนบมากับเหตุการณ์อื่นๆ ฐานข้อมูลของคุณสามารถซับซ้อนได้ถ้าคุณเพิ่มแมโครหรือกระบวนงานจํานวนมากลงในคุณสมบัติเหตุการณ์หลายอย่างของวัตถุจํานวนมาก แต่ในกรณีส่วนใหญ่ คุณสามารถทําผลลัพธ์ที่คุณต้องการได้โดยใช้การเขียนโปรแกรมเพียงเล็กน้อย
ฉันควรใช้แมโครหรือฉันควรใช้โค้ด VBA
การตัดสินใจใช้แมโคร VBA หรือทั้งสองอย่างจะขึ้นอยู่กับวิธีที่คุณวางแผนที่จะปรับใช้หรือแจกจ่ายฐานข้อมูลเป็นหลัก ตัวอย่างเช่น ถ้าฐานข้อมูลถูกเก็บไว้บนคอมพิวเตอร์ของคุณ และคุณเป็นผู้ใช้เพียงคนเดียว และถ้าคุณคุ้นเคยกับการใช้โค้ด VBA คุณอาจตัดสินใจที่จะใช้ VBA เพื่อทํางานการเขียนโปรแกรมส่วนใหญ่ของคุณ อย่างไรก็ตาม ถ้าคุณต้องการแชร์ฐานข้อมูลของคุณกับบุคคลอื่นโดยการระบุตําแหน่งบนเซิร์ฟเวอร์ไฟล์ คุณอาจต้องการหลีกเลี่ยงการใช้ VBA เพื่อข้อควรพิจารณาด้านความปลอดภัย
คุณควรตัดสินใจใช้แมโครหรือโค้ด VBA ตามข้อกังวลสองข้อคือ ความปลอดภัยและฟังก์ชันการทํางานที่คุณต้องการ ความปลอดภัยเป็นปัญหาเนื่องจาก VBA สามารถใช้เพื่อสร้างโค้ดที่เป็นอันตรายต่อความปลอดภัยของข้อมูลของคุณ หรืออาจเป็นอันตรายต่อไฟล์บนคอมพิวเตอร์ของคุณ เมื่อคุณใช้ฐานข้อมูลที่สร้างโดยบุคคลอื่นที่ไม่ใช่ตัวคุณเอง คุณควรเปิดใช้งานโค้ด VBA ก็ต่อเมื่อคุณทราบว่าฐานข้อมูลมาจากแหล่งที่เชื่อถือได้เท่านั้น เมื่อคุณสร้างฐานข้อมูลที่จะถูกใช้โดยบุคคลอื่น คุณควรพยายามหลีกเลี่ยงการรวมเครื่องมือการเขียนโปรแกรมที่จําเป็นต้องให้สถานะที่เชื่อถือได้แก่ฐานข้อมูลโดยเฉพาะ เทคนิคทั่วไปสําหรับการหลีกเลี่ยงความจําเป็นสําหรับผู้ใช้ในความเชื่อถือฐานข้อมูลของคุณจะมาภายหลังในส่วนนี้
เพื่อช่วยรักษาความปลอดภัยของฐานข้อมูลของคุณ คุณควรลองใช้แมโครเมื่อคุณสามารถและใช้การเขียนโปรแกรม VBA สําหรับการดําเนินการที่ไม่สามารถทําได้โดยใช้แมโครแอคชันเท่านั้น นอกจากนี้ คุณควรพยายามใช้เฉพาะแมโครแอคชันที่ไม่จําเป็นต้องให้สถานะที่เชื่อถือได้กับฐานข้อมูลเพื่อเรียกใช้ การจํากัดการใช้แมโครแอคชันในลักษณะนี้ช่วยให้ผู้ใช้มั่นใจได้ว่าฐานข้อมูลไม่มีการเขียนโปรแกรมที่อาจเป็นอันตรายต่อข้อมูลหรือไฟล์อื่นๆ บนคอมพิวเตอร์ของตนได้
ข้อพิจารณาแมโคร
ตั้งแต่การเผยแพร่Access 2010Access มีแมโครแอคชันใหม่มากมายที่ช่วยให้คุณสร้างแมโครที่มีประสิทธิภาพมากกว่าที่คุณสามารถสร้างได้โดยใช้ Access เวอร์ชันก่อนหน้า ตัวอย่างเช่น ขณะนี้คุณสามารถสร้างและใช้ตัวแปรชั่วคราวส่วนกลางโดยใช้แมโครแอคชัน และคุณสามารถจัดการกับข้อผิดพลาดได้อย่างสวยงามยิ่งขึ้นโดยใช้แอคชันแมโครจัดการข้อผิดพลาดใหม่ ในเวอร์ชันก่อนหน้าของ Access คุณลักษณะชนิดเหล่านี้จะพร้อมใช้งานโดยใช้ VBA เท่านั้น นอกจากนี้ คุณยังสามารถฝังแมโครลงในคุณสมบัติเหตุการณ์ของวัตถุหรือตัวควบคุมได้โดยตรง แมโครฝังตัวจะกลายเป็นส่วนหนึ่งของวัตถุหรือตัวควบคุม และจะอยู่กับวัตถุหรือตัวควบคุมถ้าถูกย้ายหรือคัดลอก
แมโครเป็นวิธีที่ง่ายในการจัดการงานเขียนโปรแกรมต่างๆ เช่น การเปิดและปิดฟอร์ม และการเรียกใช้รายงาน คุณสามารถผูกวัตถุฐานข้อมูล (ฟอร์ม รายงาน และอื่นๆ) ที่คุณสร้างขึ้นได้อย่างรวดเร็วและง่ายดาย เนื่องจากมีไวยากรณ์เพียงเล็กน้อยที่คุณต้องจําไว้ อาร์กิวเมนต์สําหรับแต่ละแอคชันจะแสดงในตัวสร้างแมโคร
นอกเหนือจากความปลอดภัยที่เพิ่มขึ้นและความง่ายต่อการใช้งานที่แมโครมอบให้แล้ว คุณต้องใช้แมโครเพื่อดำเนินการงานต่อไปนี้:
-
กําหนดการกระทําหรือชุดของการกระทําให้กับแป้น ซึ่งจําเป็นต้องมีการสร้างกลุ่มแมโครที่ชื่อว่า AutoKeys
-
ดําเนินการกระทําหรือชุดของการกระทําเมื่อฐานข้อมูลเปิดขึ้นเป็นครั้งแรก ซึ่งจําเป็นต้องมีการสร้างแมโครที่ชื่อว่า AutoExec
หมายเหตุ: แมโคร AutoExec จะเรียกใช้ก่อนแมโครอื่นหรือโค้ด VBA แม้ว่าคุณจะกำหนดฟอร์มเริ่มต้นในกล่องโต้ตอบ ตัวเลือก Access และแนบแมโครหรือโค้ด VBA ไว้กับเหตุการณ์ OnOpen หรือ OnLoad ของฟอร์มก็ตาม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างแมโคร ดูส่วน ทำความเข้าใจเกี่ยวกับแมโคร
ข้อพิจารณา VBA
คุณควรใช้การเขียนโปรแกรม VBA แทนแมโครถ้าคุณต้องการทำต่อไปนี้:
-
ใช้ฟังก์ชันที่มีอยู่แล้วภายใน หรือสร้างฟังก์ชันของคุณเอง Access มีฟังก์ชันที่มีอยู่แล้วภายในจํานวนมาก เช่น ฟังก์ชัน IPmt ซึ่งจะคํานวณการชําระดอกเบี้ย คุณสามารถใช้ฟังก์ชันที่มีอยู่แล้วภายในเหล่านี้เพื่อทําการคํานวณได้โดยไม่ต้องสร้างนิพจน์ที่ซับซ้อน เมื่อใช้โค้ด VBA คุณยังสามารถสร้างฟังก์ชันของคุณเองเพื่อทําการคํานวณที่เกินความสามารถของนิพจน์หรือแทนที่นิพจน์ที่ซับซ้อนได้ นอกจากนี้ คุณสามารถใช้ฟังก์ชันที่คุณสร้างในนิพจน์เพื่อนําการดําเนินการทั่วไปไปใช้กับวัตถุมากกว่าหนึ่งวัตถุได้
-
สร้างหรือจัดการวัตถุ ในกรณีส่วนใหญ่ คุณจะพบว่าการสร้างและปรับเปลี่ยนวัตถุในมุมมองออกแบบของวัตถุนั้นเป็นวิธีที่ง่ายที่สุด อย่างไรก็ตาม ในบางสถานการณ์ คุณอาจต้องการจัดการข้อกําหนดของวัตถุในโค้ด เมื่อใช้ VBA คุณจะสามารถจัดการวัตถุทั้งหมดในฐานข้อมูลนอกเหนือจากตัวฐานข้อมูลเองได้
-
ดําเนินการกระทําในระดับระบบ คุณสามารถดําเนินการแอคชัน RunApp ในแมโครเพื่อเรียกใช้โปรแกรมอื่น (เช่น Microsoft Excel) จากภายใน Access แต่คุณไม่สามารถใช้แมโครเพื่อทําสิ่งอื่นนอกเหนือจาก Access ได้ เมื่อใช้ VBA คุณสามารถตรวจสอบเพื่อดูว่ามีไฟล์อยู่บนคอมพิวเตอร์หรือไม่ ใช้ Automation หรือ Dynamic Data Exchange (DDE) เพื่อสื่อสารกับโปรแกรมอื่นๆ ที่ใช้ Microsoft Windows เช่น Excel และฟังก์ชันการโทรในไลบรารีลิงก์แบบไดนามิก (DLL) ของ Windows
-
จัดการระเบียนครั้งละหนึ่งระเบียน คุณสามารถใช้ VBA เพื่อเลื่อนดูชุดระเบียน ครั้งละหนึ่งระเบียน และดําเนินการกับแต่ละระเบียน ในทางตรงกันข้าม แมโครจะทํางานกับระเบียนทั้งชุดในครั้งเดียว
ใช้ตัวช่วยสร้างปุ่มคำสั่งเพื่อทำงานเขียนโปรแกรมทั่วไป
ถ้าคุณกําลังเพิ่มปุ่มคําสั่งลงในฟอร์ม ตัวช่วยสร้างปุ่มคําสั่งสามารถช่วยให้คุณเริ่มต้นการเขียนโปรแกรมได้ ตัวช่วยสร้างจะช่วยคุณสร้างปุ่มคําสั่งที่ทํางานบางอย่าง ในไฟล์ Access (.accdb) ตัวช่วยสร้างจะสร้างแมโครที่ฝังตัวอยู่ในคุณสมบัติ OnClick ของปุ่มคําสั่ง ในไฟล์ .mdb หรือ .adp ตัวช่วยสร้างจะสร้างโค้ด VBA เนื่องจากแมโครฝังตัวไม่พร้อมใช้งานในรูปแบบไฟล์เหล่านั้น ในทั้งสองกรณี คุณสามารถปรับเปลี่ยนหรือปรับปรุงแมโครหรือโค้ด VBA ให้เหมาะสมกับความต้องการของคุณมากขึ้น
-
ในบานหน้าต่างนำทาง คลิกขวาที่ฟอร์มที่คุณต้องการเพิ่มปุ่มคำสั่ง จากนั้นคลิก มุมมองออกแบบ
-
บนแท็บ ออกแบบฟอร์ม ให้คลิกลูกศรลงเพื่อแสดงแกลเลอรี ตัวควบคุม แล้วตรวจสอบให้แน่ใจว่าได้เลือก ใช้ตัวช่วยสร้างตัวควบคุม ไว้แล้ว
-
บนแท็บ ออกแบบฟอร์ม ในแกลเลอรี ตัวควบคุม ให้คลิก ปุ่ม
-
ในตารางออกแบบฟอร์ม คลิกตำแหน่งที่คุณต้องการวางปุ่มคำสั่ง
ตัวช่วยสร้างปุ่มคำสั่งจะเริ่มต้น
-
บนหน้าแรกของตัวช่วยสร้าง ให้คลิกแต่ละประเภทในรายการ ประเภท เพื่อดูว่าการดําเนินการใดที่ตัวช่วยสร้างสามารถเขียนโปรแกรมให้ปุ่มคําสั่งดําเนินการได้ ในรายการ การกระทํา ให้เลือกการกระทําที่คุณต้องการ แล้วคลิก ถัดไป
-
คลิกตัวเลือก ข้อความ หรือ รูปภาพ ขึ้นอยู่กับว่าคุณต้องการให้ข้อความหรือรูปภาพแสดงบนปุ่มคำสั่ง
-
ถ้าคุณต้องการให้แสดงข้อความ คุณสามารถแก้ไขข้อความในกล่องถัดจากตัวเลือก ข้อความ ได้
-
ถ้าคุณต้องการให้แสดงรูปภาพ ตัวช่วยสร้างจะแนะนํารูปภาพในรายการ ถ้าคุณต้องการเลือกรูปภาพอื่น ให้เลือกกล่องกาเครื่องหมาย แสดงรูปภาพทั้งหมด เพื่อแสดงรายการของรูปภาพปุ่มคําสั่งทั้งหมดที่ Access มีให้ หรือคลิก เรียกดู เพื่อเลือกรูปภาพที่เก็บไว้ที่อื่น
คลิก ถัดไป
-
-
ใส่ชื่อที่มีความหมายสําหรับปุ่มคําสั่ง นี่คือขั้นตอนเพิ่มเติม และชื่อนี้จะไม่แสดงบนปุ่มคําสั่ง อย่างไรก็ตาม คุณควรใส่ชื่อที่สื่อความหมายเพื่อให้เมื่อคุณต้องการดูปุ่มคําสั่งในภายหลัง (ตัวอย่างเช่น ถ้าคุณกําลังตั้งค่าลําดับแท็บสําหรับตัวควบคุมบนฟอร์มของคุณ) การแยกความแตกต่างระหว่างปุ่มคําสั่งจะง่ายกว่ามาก ตัวอย่างเช่น ถ้าปุ่มคําสั่งปิดฟอร์ม คุณอาจตั้งชื่อว่า cmdClose หรือ CommandClose
-
คลิก เสร็จสิ้น
Access วางปุ่มคําสั่งบนฟอร์ม
-
ถ้าคุณต้องการดูว่าตัวช่วยสร้าง "เขียนโปรแกรม" อะไรให้คุณ ให้ทำตามขั้นตอนต่อไปนี้:
-
ถ้าแผ่นคุณสมบัติไม่ได้แสดงอยู่แล้ว ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ
-
คลิกแท็บ เหตุการณ์ ในแผ่นคุณสมบัติ
-
ในกล่องคุณสมบัติ เมื่อคลิก ให้คลิกปุ่ม สร้าง
Access จะเริ่มตัวสร้างแมโคร และแสดงแมโครที่ตัวช่วยสร้างสร้างขึ้น คุณสามารถแก้ไขแมโครได้ถ้าคุณต้องการ (สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการแก้ไขแมโคร ให้ดูส่วน ทําความเข้าใจแมโคร) เมื่อคุณทําเสร็จแล้ว บนแท็บ ออกแบบแมโคร ในกลุ่ม ปิด ให้คลิก ปิด เพื่อปิดตัวสร้างแมโคร ถ้า Access พร้อมท์ให้คุณบันทึกการเปลี่ยนแปลงและอัปเดตคุณสมบัติ ให้คลิก ใช่ เพื่อบันทึกการเปลี่ยนแปลง หรือ ไม่ใช่ เพื่อปฏิเสธการเปลี่ยนแปลง
-
-
บนแท็บ ออกแบบฟอร์ม ในกลุ่ม มุมมอง ให้คลิก มุมมอง แล้วคลิก มุมมองฟอร์ม คลิกปุ่มคําสั่งใหม่เพื่อยืนยันว่าทํางานได้ตามที่คุณคาดไว้
ทำความเข้าใจเกี่ยวกับแมโคร
แมโครเป็นเครื่องมือที่ช่วยให้คุณสามารถทํางานโดยอัตโนมัติ และเพิ่มฟังก์ชันการทํางานให้กับฟอร์ม รายงาน และตัวควบคุมของคุณ ตัวอย่างเช่น ถ้าคุณเพิ่มปุ่มคําสั่งลงในฟอร์ม คุณจะเชื่อมโยงคุณสมบัติเหตุการณ์ OnClick ของปุ่มกับแมโครที่มีคําสั่งที่คุณต้องการให้ปุ่มดําเนินการทุกครั้งที่คลิกปุ่ม
การคิดว่าแมโคร Access เป็นภาษาการเขียนโปรแกรมที่ง่ายซึ่งคุณสร้างโค้ดจะเป็นประโยชน์โดยการสร้างรายการการดําเนินการที่จะดําเนินการ เมื่อคุณสร้างแมโคร คุณจะเลือกแต่ละแอคชันจากรายการดรอปดาวน์ จากนั้นใส่ข้อมูลที่จำเป็นสำหรับแต่ละการแอคชันลงไป แมโครช่วยให้คุณสามารถเพิ่มฟังก์ชันการทํางานลงในฟอร์ม รายงาน และตัวควบคุมได้โดยไม่ต้องเขียนโค้ดในโมดูล VBA แมโครให้ชุดย่อยของคำสั่งที่ใช้งานได้ใน VBA และคนส่วนใหญ่เห็นว่าการสร้างแมโครนั้นง่ายกว่าการเขียนโค้ด VBA
คุณสามารถสร้างแมโครโดยใช้ตัวสร้างแมโครได้ ซึ่งจะแสดงในภาพประกอบต่อไปนี้
เมื่อต้องการแสดงตัวสร้างแมโคร:
-
บนแท็บ สร้าง ในกลุ่ม แมโครและโค้ด ให้คลิก แมโคร
ทำความเข้าใจโค้ด VBA
เช่นเดียวกับแมโคร VBA ช่วยให้คุณสามารถเพิ่มการทํางานอัตโนมัติและฟังก์ชันการทํางานอื่นๆ ลงในแอปพลิเคชัน Access ของคุณได้ คุณสามารถขยาย VBA โดยใช้ตัวควบคุมของบริษัทอื่น และคุณสามารถเขียนฟังก์ชันและกระบวนงานของคุณเองตามความต้องการเฉพาะของคุณเอง
วิธีที่รวดเร็วในการเริ่มต้นใช้งานการเขียนโปรแกรม VBA คือการสร้างแมโคร Access ก่อน จากนั้นแปลงเป็นโค้ด VBA คําแนะนําสําหรับการดําเนินการนี้รวมอยู่ในส่วน แปลงแมโครเป็นโค้ด VBA คุณลักษณะนี้สร้างโมดูล VBA ใหม่ที่ทําการดําเนินการที่เทียบเท่ากันในแมโคร และยังเปิดตัวแก้ไข Visual Basic เพื่อให้คุณสามารถเริ่มการปรับเปลี่ยนกระบวนงานได้ เมื่อคุณกําลังทํางานในตัวแก้ไข Visual Basic คุณสามารถคลิกคําสําคัญแล้วกด F1 เพื่อเริ่ม Access วิธีใช้สําหรับนักพัฒนา และเรียนรู้เพิ่มเติมเกี่ยวกับคําสําคัญแต่ละคํา จากนั้นคุณสามารถสํารวจ Access วิธีใช้สําหรับนักพัฒนา และค้นหาคําสั่งใหม่เพื่อช่วยให้คุณทํางานการเขียนโปรแกรมที่คุณต้องการได้
แปลงแมโครเป็นโค้ด VBA
คุณสามารถใช้ Access เพื่อแปลงแมโครเป็นมอดูล VBA หรือคลาสมอดูลโดยอัตโนมัติได้ คุณสามารถแปลงแมโครที่แนบมากับฟอร์มหรือรายงานได้ ไม่ว่าจะอยู่เป็นวัตถุแยกต่างหากหรือแมโครฝังตัว คุณยังสามารถแปลงแมโครส่วนกลางที่ไม่ได้แนบกับฟอร์มหรือรายงานที่ระบุได้
แปลงแมโครที่แนบอยู่กับฟอร์มหรือรายงาน
กระบวนการนี้จะแปลงแมโครใดๆ เป็น VBA ที่อ้างอิงโดย (หรือฝังตัวใน) ฟอร์มหรือรายงาน (หรือตัวควบคุมใดๆ ของฟอร์มหรือรายงาน) และเพิ่มโค้ด VBA ลงในคลาสมอดูลของฟอร์มหรือรายงาน คลาสมอดูลจะกลายเป็นส่วนหนึ่งของฟอร์มหรือรายงาน และจะย้ายไปพร้อมกับฟอร์มหรือรายงานถ้าถูกย้ายหรือคัดลอก
-
ในบานหน้าต่างนำทาง คลิกขวาฟอร์มหรือรายงาน จากนั้นคลิก มุมมองออกแบบ
-
บนแท็บ ออกแบบฟอร์ม ในกลุ่ม เครื่องมือ ให้คลิก แปลงแมโครของฟอร์มเป็น Visual Basic หรือ แปลงแมโครของรายงานเป็น Visual Basic
-
ในกล่องโต้ตอบ แปลงแมโครฟอร์ม หรือ แปลงแมโครรายงาน ให้เลือกว่าคุณต้องการให้ Access เพิ่มโค้ดการจัดการข้อผิดพลาดลงในฟังก์ชันที่แมโครสร้างขึ้นหรือไม่ นอกจากนี้ ถ้าคุณมีข้อคิดเห็นใดๆ ในแมโครของคุณ ให้เลือกว่าคุณต้องการให้ข้อคิดเห็นรวมอยู่ในฟังก์ชันหรือไม่ คลิก แปลง เพื่อดําเนินการต่อ
ถ้าไม่มีคลาสมอดูลอยู่สําหรับฟอร์มหรือรายงาน Access จะสร้างโมดูลขึ้นมาและเพิ่มกระบวนงานให้กับโมดูลสําหรับแต่ละแมโครที่สัมพันธ์กับฟอร์มหรือรายงานนั้น Access ยังเปลี่ยนคุณสมบัติเหตุการณ์ของฟอร์มหรือรายงานเพื่อให้เรียกใช้กระบวนงาน VBA ใหม่แทนแมโคร
-
เมื่อต้องการดูและแก้ไขโค้ด VBA:
-
ในขณะที่ฟอร์มหรือรายงานยังคงเปิดอยู่ในมุมมองออกแบบ ถ้าแผ่นคุณสมบัติไม่แสดงขึ้นมา ให้กด F4 เพื่อแสดง
-
บนแท็บ เหตุการณ์ ของแผ่นคุณสมบัติ ให้คลิกในกล่องคุณสมบัติใดๆ ที่แสดง [กระบวนงานเหตุการณ์] แล้วคลิกปุ่มสร้าง
เมื่อต้องการดูคุณสมบัติเหตุการณ์สําหรับตัวควบคุมที่ระบุ ให้คลิกตัวควบคุมเพื่อเลือกตัวควบคุมนั้น เมื่อต้องการดูคุณสมบัติเหตุการณ์สําหรับทั้งฟอร์มหรือรายงาน ให้เลือก ฟอร์ม หรือ รายงาน จากรายการดรอปดาวน์ที่ด้านบนของแผ่นคุณสมบัติAccess จะเปิดตัวแก้ไข Visual Basic และแสดงกระบวนงานเหตุการณ์ในคลาสมอดูล คุณสามารถเลื่อนขึ้นหรือลงเพื่อดูขั้นตอนอื่นๆ ที่อยู่ในคลาสมอดูลเดียวกันได้
-
แปลงแมโครส่วนกลาง
-
ในบานหน้าต่างนำทาง คลิกขวาแมโครที่คุณต้องการแปลง จากนั้นคลิก มุมมองออกแบบ
-
บนแท็บ ออกแบบแมโคร ในกลุ่ม เครื่องมือ ให้คลิก แปลงแมโครเป็น Visual Basic
-
ในกล่องโต้ตอบ แปลงแมโคร เลือกตัวเลือกที่คุณต้องการ จากนั้นคลิก แปลง
Access จะแปลงแมโครและเปิดตัวแก้ไข Visual Basic
-
เมื่อต้องการดูและแก้ไขโค้ด VBA:
-
ใน Visual Basic Editor ถ้าบานหน้าต่าง Project Explorer ไม่แสดง บนเมนู มุมมอง ให้คลิก Project Explorer
-
ขยายแผนภูมิใต้ชื่อของฐานข้อมูลที่คุณกำลังทำงานอยู่
-
ใต้ โมดูล ดับเบิลคลิกโมดูลชื่อแมโคร แมโครที่แปลงแล้ว
Visual Basic Editor จะเปิดโมดูลขึ้น
-
แนบฟังก์ชัน VBA ลงในคุณสมบัติเหตุการณ์
เมื่อคุณแปลงแมโครส่วนกลางเป็น VBA โค้ด VBA จะถูกวางไว้ในโมดูลมาตรฐาน โมดูลมาตรฐานไม่ได้เป็นส่วนหนึ่งของฟอร์มหรือรายงาน ต่างจากคลาสมอดูล คุณมีแนวโน้มที่จะต้องการเชื่อมโยงฟังก์ชันกับคุณสมบัติเหตุการณ์บนฟอร์ม รายงาน หรือตัวควบคุม เพื่อให้โค้ดทํางานได้อย่างถูกต้องเมื่อใดและที่ที่คุณต้องการ เมื่อต้องการทําเช่นนี้ คุณสามารถคัดลอกโค้ด VBA ลงในคลาสมอดูล แล้วเชื่อมโยงกับคุณสมบัติเหตุการณ์ หรือคุณสามารถทําการโทรพิเศษจากคุณสมบัติเหตุการณ์ไปยังโมดูลมาตรฐานโดยใช้กระบวนงานต่อไปนี้
-
ในตัวแก้ไข Visual Basic ให้จดบันทึกชื่อฟังก์ชันไว้ ตัวอย่างเช่น ถ้าคุณแปลงแมโครที่ชื่อ MyMacro ชื่อฟังก์ชันจะเป็น MyMacro()
-
ปิด Visual Basic Editor
-
ในบานหน้าต่างนำทาง คลิกขวาที่ฟอร์มหรือรายงานที่คุณต้องการเชื่อมโยงฟังก์ชัน จากนั้นคลิก มุมมองออกแบบ
-
คลิกตัวควบคุมหรือส่วนที่คุณต้องการเชื่อมโยงฟังก์ชัน
-
ถ้าแผ่นคุณสมบัติไม่ได้แสดงอยู่แล้ว ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ
-
บนแท็บ เหตุการณ์ ของแผ่นคุณสมบัติ คลิกกล่องคุณสมบัติเหตุการณ์ที่คุณต้องการเชื่อมโยงฟังก์ชัน
-
ในกล่องคุณสมบัติ ให้พิมพ์เครื่องหมายเท่ากับ (=) ตามด้วยชื่อของฟังก์ชัน ตัวอย่างเช่น =MyMacro() ตรวจสอบให้แน่ใจว่าได้ใส่วงเล็บแล้ว
-
บันทึกฟอร์มหรือรายงานโดยคลิกที่ บันทึก บนแถบเครื่องมือด่วน
-
ในบานหน้าต่างนำทาง ดับเบิลคลิกฟอร์มหรือรายงาน และทดสอบดูว่าโค้ดที่ทำงานตามที่ควรหรือไม่
ตอนนี้คุณก็ทราบขั้นตอนพื้นฐานในการเพิ่มโค้ด VBA ลงในฐานข้อมูลของคุณแล้ว บทความนี้จะอธิบายเฉพาะข้อมูลพื้นฐานเกี่ยวกับวิธีเริ่มต้นใช้งานเท่านั้น มีหนังสืออ้างอิงที่ยอดเยี่ยมและแหล่งข้อมูลออนไลน์มากมายที่สามารถช่วยคุณสร้างทักษะการเขียนโปรแกรมของคุณได้
ดูเพิ่มเติม
การสร้างแมโครส่วนติดต่อผู้ใช้ (UI)
การเรียกใช้แมโคร Access โดยใช้แป้นพิมพ์ลัด
การเริ่มต้นเหตุการณ์โดยอัตโนมัติด้วยแมโคร
การสร้างแมโครที่พร้อมทำงานเมื่อคุณเปิดฐานข้อมูล