เมื่อคุณสร้างฐานข้อมูลใหม่ คุณมักจะเริ่มต้นด้วยการสร้างวัตถุฐานข้อมูล เช่น ตาราง ฟอร์ม และรายงาน ในบางครั้ง คุณอาจจําเป็นต้องเพิ่มการเขียนโปรแกรมเพื่อทําให้กระบวนการทํางานโดยอัตโนมัติและเชื่อมต่อวัตถุเหล่านั้น บทความนี้จะแนะนําเครื่องมือการเขียนโปรแกรมใน 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 มีแมโครแอคชันมากมายที่ช่วยให้คุณสร้างแมโครที่มีประสิทธิภาพมากกว่า 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 และฟังก์ชันการโทรในไลบรารีลิงก์แบบไดนามิกของ Windows (DLLs) - จัดการระเบียนครั้งละหนึ่งระเบียน คุณสามารถใช้
VBAเพื่อเลื่อนดูชุดระเบียนครั้งละหนึ่งระเบียน และดําเนินการกับแต่ละระเบียน ในทางกลับกัน แมโครจะทํางานกับระเบียนทั้งชุดในครั้งเดียว
ใช้ตัวช่วยสร้างปุ่มคำสั่งเพื่อทำงานเขียนโปรแกรมทั่วไป
ถ้าคุณกําลังเพิ่มปุ่มคําสั่งลงในฟอร์ม ตัวช่วยสร้างปุ่มคําสั่งสามารถช่วยให้คุณเริ่มต้นการเขียนโปรแกรมได้ ตัวช่วยสร้างจะช่วยคุณสร้างปุ่มคําสั่งที่ทํางานบางอย่าง ในไฟล์ Access (.accdb) ตัวช่วยสร้างจะสร้างแมโครที่ฝังตัวอยู่ใน OnClick คุณสมบัติของปุ่มคําสั่ง ในไฟล์ .mdb ตัวช่วยสร้าง .adp จะสร้าง VBA โค้ดเนื่องจากแมโครฝังตัวไม่พร้อมใช้งานในรูปแบบไฟล์เหล่านั้น ในกรณีใดกรณีหนึ่ง คุณสามารถปรับเปลี่ยนหรือปรับปรุงแมโครหรือ VBA โค้ดให้เหมาะสมกับความต้องการของคุณได้ดีขึ้น
ในบานหน้าต่างนำทาง คลิกขวาที่ฟอร์มที่คุณต้องการเพิ่มปุ่มคำสั่ง จากนั้นคลิก มุมมองออกแบบ
บนแท็บ ออกแบบฟอร์ม ให้คลิกลูกศรลงเพื่อแสดงแกลเลอรี ตัวควบคุม แล้วตรวจสอบให้แน่ใจว่าได้เลือก ใช้ตัวช่วยสร้างตัวควบคุม ไว้แล้ว
บนแท็บ ออกแบบฟอร์ม ในแกลเลอรี ตัวควบคุม ให้คลิก ปุ่ม
ในตารางออกแบบฟอร์ม คลิกตำแหน่งที่คุณต้องการวางปุ่มคำสั่ง ตัวช่วยสร้างปุ่มคำสั่งจะเริ่มต้น
บนหน้าแรกของตัวช่วยสร้าง ให้คลิกแต่ละประเภทในรายการ ประเภท เพื่อดูว่าการดําเนินการใดที่ตัวช่วยสร้างสามารถเขียนโปรแกรมให้ปุ่มคําสั่งดําเนินการได้ ในรายการ การกระทํา ให้เลือกการกระทําที่คุณต้องการ แล้วคลิก ถัดไป
คลิกตัวเลือก ข้อความ หรือ รูปภาพ ขึ้นอยู่กับว่าคุณต้องการให้ข้อความหรือรูปภาพแสดงบนปุ่มคำสั่ง
- ถ้าคุณต้องการให้แสดงข้อความ คุณสามารถแก้ไขข้อความในกล่องถัดจากตัวเลือก ข้อความ ได้
- ถ้าคุณต้องการให้แสดงรูปภาพ ตัวช่วยสร้างจะแนะนํารูปภาพในรายการ ถ้าคุณต้องการเลือกรูปภาพอื่น ให้เลือกกล่องกาเครื่องหมาย แสดงรูปภาพทั้งหมด เพื่อแสดงรายการของรูปภาพปุ่มคําสั่งทั้งหมดที่ Access มีให้ หรือคลิก เรียกดู เพื่อเลือกรูปภาพที่เก็บอยู่ที่อื่น คลิก ถัดไป
ใส่ชื่อที่มีความหมายสําหรับปุ่มคําสั่ง ขั้นตอนนี้จะทําหรือไม่ก็ได้ และชื่อนี้จะไม่แสดงบนปุ่มคําสั่ง อย่างไรก็ตาม คุณควรใส่ชื่อที่สื่อความหมายเพื่อให้เมื่อคุณต้องการดูปุ่มคําสั่งในภายหลัง เช่น เมื่อคุณกําลังตั้งค่าลําดับแท็บสําหรับตัวควบคุมบนฟอร์มของคุณ การแยกปุ่มคําสั่งออกจากกันจะง่ายกว่ามาก ตัวอย่างเช่น ถ้าปุ่มคําสั่งปิดฟอร์ม คุณอาจตั้งชื่อฟอร์มหรือ
cmdCloseCommandCloseคลิก เสร็จสิ้น Access จะวางปุ่มคำสั่งบนฟอร์ม
ถ้าคุณต้องการดูว่าตัวช่วยสร้างเขียนโปรแกรมอะไรให้คุณ ให้ทําตามขั้นตอนเพิ่มเติมเหล่านี้:
ถ้าแผ่นคุณสมบัติไม่ได้แสดงอยู่แล้ว ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ
คลิกแท็บ เหตุการณ์ ในแผ่นคุณสมบัติ
ในกล่องคุณสมบัติ เมื่อคลิก ให้คลิกปุ่ม สร้าง
Access จะเริ่มตัวสร้างแมโคร และแสดงแมโครที่ตัวช่วยสร้างสร้างขึ้น คุณสามารถแก้ไขแมโครได้ถ้าคุณต้องการ สําหรับข้อมูลเพิ่มเติม ให้ดู ทําความเข้าใจเกี่ยวกับแมโคร เมื่อคุณทําเสร็จแล้ว บนแท็บ ออกแบบแมโคร ในกลุ่ม ปิด ให้คลิก ปิด เพื่อปิดตัวสร้างแมโคร ถ้า Access พร้อมท์ให้คุณบันทึกการเปลี่ยนแปลงและอัปเดตคุณสมบัติ ให้คลิก ใช่ เพื่อบันทึกการเปลี่ยนแปลง หรือ ไม่ใช่ เพื่อปฏิเสธการเปลี่ยนแปลง
บนแท็บ ออกแบบฟอร์ม ในกลุ่ม มุมมอง ให้คลิก มุมมอง แล้วคลิก มุมมองฟอร์ม คลิกปุ่มคําสั่งใหม่เพื่อยืนยันว่าทํางานได้ตามที่คุณคาดไว้
ทำความเข้าใจเกี่ยวกับแมโคร
แมโครคือเครื่องมือที่ช่วยให้คุณสามารถทํางานโดยอัตโนมัติ และเพิ่มฟังก์ชันการทํางานให้กับฟอร์ม รายงาน และตัวควบคุมของคุณ ตัวอย่างเช่น ถ้าคุณเพิ่มปุ่มคําสั่งลงในฟอร์ม คุณสามารถเชื่อมโยงคุณสมบัติเหตุการณ์ของ OnClick ปุ่มกับแมโครที่มีคําสั่งที่คุณต้องการให้ปุ่มดําเนินการทุกครั้งที่ปุ่มถูกเลือก
การคิดว่าแมโคร Access เป็นภาษาการเขียนโปรแกรมที่ง่ายซึ่งคุณสร้างโค้ดโดยการสร้างรายการการกระทําที่จะดําเนินการนั้นมีประโยชน์มาก เมื่อคุณสร้างแมโคร คุณจะเลือกแต่ละแอคชันจากรายการดรอปดาวน์ จากนั้นใส่ข้อมูลที่จำเป็นสำหรับแต่ละการแอคชันลงไป แมโครช่วยให้คุณเพิ่มฟังก์ชันการทํางานลงในฟอร์ม รายงาน และตัวควบคุมได้โดยไม่ต้องเขียนโค้ดใน VBA โมดูล แมโครมีชุดย่อยของคําสั่งที่พร้อมใช้งานใน VBAและคนส่วนใหญ่พบว่าการสร้างแมโครง่ายกว่าการเขียน VBA โค้ด
คุณสามารถสร้างแมโครโดยใช้ตัวสร้างแมโครได้ ซึ่งจะแสดงในภาพประกอบต่อไปนี้
เมื่อต้องการแสดงตัวสร้างแมโคร:
- บนแท็บ สร้าง ในกลุ่ม แมโครและโค้ด ให้คลิก แมโคร
ทำความเข้าใจโค้ด VBA
เช่นเดียวกับแมโคร VBA ช่วยให้คุณสามารถเพิ่มการทํางานอัตโนมัติและฟังก์ชันการทํางานอื่นๆ ลงในแอปพลิเคชัน Access ของคุณได้ คุณสามารถขยาย VBA เวลาโดยใช้ตัวควบคุมของบริษัทอื่น และคุณสามารถเขียนฟังก์ชันและกระบวนการของคุณเองสําหรับความต้องการเฉพาะได้
วิธีที่รวดเร็วในการเริ่มต้นใช้งาน VBA คือการสร้างแมโคร Access ก่อน จากนั้นแปลงเป็น VBA โค้ด คําแนะนําสําหรับการดําเนินการนี้รวมอยู่ใน แปลงแมโครเป็นโค้ด VBA คุณลักษณะนี้จะสร้างโมดูลใหม่ VBA ที่ทําการดําเนินการที่เทียบเท่ากันในแมโคร และยังเปิด Visual Basic Editor เพื่อให้คุณสามารถเริ่มการปรับเปลี่ยนกระบวนงานได้ เมื่อคุณกําลังทํางานใน Visual Basic Editor คุณสามารถคลิกคําสําคัญแล้วกด F1 เพื่อเริ่มวิธีใช้ของ Access Developer และเรียนรู้เพิ่มเติมเกี่ยวกับคําสําคัญแต่ละคํา จากนั้นคุณสามารถสํารวจวิธีใช้สําหรับนักพัฒนา Access และค้นหาคําสั่งใหม่เพื่อช่วยให้คุณทํางานการเขียนโปรแกรมที่คุณต้องการได้
แปลงแมโครเป็นโค้ด VBA
คุณสามารถใช้ Access เพื่อแปลงแมโครเป็น VBA มอดูลหรือคลาสมอดูลโดยอัตโนมัติได้ คุณสามารถแปลงแมโครที่แนบมากับฟอร์มหรือรายงานได้ ไม่ว่าจะอยู่เป็นวัตถุแยกต่างหากหรือแมโครฝังตัว คุณยังสามารถแปลงแมโครส่วนกลางที่ไม่ได้แนบกับฟอร์มหรือรายงานที่ระบุได้
แปลงแมโครที่แนบอยู่กับฟอร์มหรือรายงาน
กระบวนการนี้จะแปลงเป็น VBA แมโครใดๆ ที่อ้างอิงโดย หรือฝังตัวอยู่ใน ฟอร์มหรือรายงาน หรือตัวควบคุมใดๆ ของฟอร์มหรือรายงาน และเพิ่ม VBA โค้ดลงในคลาสมอดูลของฟอร์มหรือรายงาน คลาสมอดูลจะกลายเป็นส่วนหนึ่งของฟอร์มหรือรายงาน และจะย้ายไปพร้อมกับฟอร์มหรือรายงานถ้าถูกย้ายหรือคัดลอก
ในบานหน้าต่างนําทาง ให้คลิกขวาที่ฟอร์มหรือรายงาน แล้วคลิก มุมมองออกแบบ
บนแท็บ ออกแบบฟอร์ม ในกลุ่ม เครื่องมือ ให้คลิก แปลงแมโครของฟอร์มเป็น Visual Basic หรือ แปลงแมโครของรายงานเป็น Visual Basic
ในกล่องโต้ตอบ แปลงแมโครฟอร์ม หรือ แปลงแมโครรายงาน ให้เลือกว่าคุณต้องการให้ Access เพิ่มโค้ดการจัดการข้อผิดพลาดลงในฟังก์ชันที่สร้างหรือไม่ ถ้าแมโครของคุณมีข้อคิดเห็น ให้เลือกว่าคุณต้องการให้ข้อคิดเห็นเหล่านั้นรวมอยู่ในฟังก์ชันหรือไม่ คลิก แปลง เพื่อดําเนินการต่อ ถ้าไม่มีคลาสมอดูลอยู่สําหรับฟอร์มหรือรายงาน Access จะสร้างโมดูลขึ้นมาและเพิ่มกระบวนงานให้กับโมดูลสําหรับแต่ละแมโครที่สัมพันธ์กับฟอร์มหรือรายงานนั้น Access จะเปลี่ยนแปลงคุณสมบัติเหตุการณ์ของฟอร์มหรือรายงานเพื่อให้เรียกใช้กระบวนงานใหม่
VBAแทนแมโครเมื่อต้องการดูและแก้ไขรหัส
VBA:ขณะที่ฟอร์มหรือรายงานยังคงเปิดอยู่ในมุมมองออกแบบ ถ้าแผ่นคุณสมบัติไม่ได้แสดงอยู่แล้ว ให้กด F4 เพื่อแสดง
บนแท็บ เหตุการณ์ ของแผ่นคุณสมบัติ ให้คลิกในกล่องคุณสมบัติใดๆ ที่แสดง
[Event Procedure]ขึ้น แล้วคลิกปุ่ม สร้าง เมื่อต้องการดูคุณสมบัติเหตุการณ์สําหรับตัวควบคุมที่ระบุ ให้คลิกตัวควบคุมเพื่อเลือกตัวควบคุมนั้น เมื่อต้องการดูคุณสมบัติเหตุการณ์สําหรับทั้งฟอร์มหรือรายงาน ให้เลือก ฟอร์ม หรือ รายงาน จากรายการดรอปดาวน์ที่ด้านบนของแผ่นคุณสมบัติ
Access จะเปิด Visual Basic Editor และแสดงกระบวนงานเหตุการณ์ในคลาสมอดูล คุณสามารถเลื่อนขึ้นหรือลงเพื่อดูขั้นตอนอื่นๆ ที่อยู่ในคลาสมอดูลเดียวกันได้
แปลงแมโครส่วนกลาง
ในบานหน้าต่างนำทาง คลิกขวาแมโครที่คุณต้องการแปลง จากนั้นคลิก มุมมองออกแบบ
บนแท็บ ออกแบบแมโคร ในกลุ่ม เครื่องมือ ให้คลิก แปลงแมโครเป็น Visual Basic
ในกล่องโต้ตอบ แปลงแมโคร เลือกตัวเลือกที่คุณต้องการ จากนั้นคลิก แปลง Access จะแปลงแมโครและเปิด Visual Basic Editor
เมื่อต้องการดูและแก้ไขรหัส
VBA:- ใน Visual Basic Editor ถ้าบานหน้าต่าง Project Explorer ไม่แสดง บนเมนู มุมมอง ให้คลิก Project Explorer
- ขยายแผนภูมิใต้ชื่อของฐานข้อมูลที่คุณกำลังทำงานอยู่
- ภายใต้ โมดูล ให้ดับเบิลคลิกที่
Converted Macro-<macro name>โมดูล Visual Basic Editor จะเปิดโมดูลขึ้น
แนบฟังก์ชัน VBA ลงในคุณสมบัติเหตุการณ์
เมื่อคุณแปลงแมโครVBAVBAส่วนกลางเป็น โค้ดจะถูกวางไว้ในโมดูลมาตรฐาน โมดูลมาตรฐานไม่ได้เป็นส่วนหนึ่งของฟอร์มหรือรายงาน ต่างจากคลาสมอดูล คุณมีแนวโน้มที่จะต้องการเชื่อมโยงฟังก์ชันกับคุณสมบัติเหตุการณ์บนฟอร์ม รายงาน หรือตัวควบคุม เพื่อให้โค้ดทํางานได้อย่างถูกต้องเมื่อใดและที่ที่คุณต้องการ เมื่อต้องการทําเช่นนี้ คุณสามารถคัดลอก VBA โค้ดลงในคลาสมอดูล แล้วเชื่อมโยงเข้ากับคุณสมบัติเหตุการณ์ หรือคุณสามารถทําการโทรพิเศษจากคุณสมบัติเหตุการณ์ไปยังโมดูลมาตรฐานโดยใช้กระบวนงานต่อไปนี้
- ใน Visual Basic Editor ให้จดบันทึกชื่อฟังก์ชันไว้ ตัวอย่างเช่น ถ้าคุณแปลงแมโครที่
MyMacroชื่อ ว่า ชื่อฟังก์ชันจะเป็นMyMacro() - ปิด Visual Basic Editor
- ในบานหน้าต่างนําทาง ให้คลิกขวาที่ฟอร์มหรือรายงานที่คุณต้องการเชื่อมโยงฟังก์ชัน แล้วคลิก มุมมองออกแบบ
- คลิกตัวควบคุมหรือส่วนที่คุณต้องการเชื่อมโยงฟังก์ชัน
- ถ้าแผ่นคุณสมบัติไม่ได้แสดงอยู่แล้ว ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ
- บนแท็บ เหตุการณ์ ของแผ่นคุณสมบัติ คลิกกล่องคุณสมบัติเหตุการณ์ที่คุณต้องการเชื่อมโยงฟังก์ชัน
- ในกล่องคุณสมบัติ ให้พิมพ์เครื่องหมายเท่ากับ (
=) ตามด้วยชื่อของฟังก์ชัน ตัวอย่างเช่น=MyMacro()ตรวจสอบให้แน่ใจว่าได้ใส่วงเล็บแล้ว - บันทึกฟอร์มหรือรายงานโดยคลิกที่ บันทึก บนแถบเครื่องมือด่วน
- ในบานหน้าต่างนำทาง ดับเบิลคลิกฟอร์มหรือรายงาน และทดสอบดูว่าโค้ดที่ทำงานตามที่ควรหรือไม่
ตอนนี้คุณก็ทราบขั้นตอนพื้นฐานในการเพิ่ม VBA รหัสลงในฐานข้อมูลของคุณแล้ว บทความนี้จะอธิบายเฉพาะข้อมูลพื้นฐานของวิธีการเริ่มต้นใช้งานเท่านั้น หนังสืออ้างอิงที่ยอดเยี่ยมและแหล่งข้อมูลออนไลน์จํานวนมากสามารถช่วยคุณสร้างทักษะการเขียนโปรแกรมของคุณได้
ดูเพิ่มเติม
การสร้างแมโครส่วนติดต่อผู้ใช้ (UI)
การเรียกใช้แมโคร Access โดยใช้แป้นพิมพ์ลัด
การเริ่มต้นเหตุการณ์โดยอัตโนมัติด้วยแมโคร
การสร้างแมโครที่พร้อมทำงานเมื่อคุณเปิดฐานข้อมูล