แมโครคืออะไร
แมโครเป็นเครื่องมือที่ช่วยให้คุณสามารถทำงานโดยอัตโนมัติ และเพิ่มฟังก์ชันลงในฟอร์ม รายงาน และตัวควบคุม ตัวอย่าง ถ้าคุณเพิ่มปุ่มคำสั่งลงในฟอร์ม คุณกำหนดความสัมพันธ์ของปุ่มเมื่อคลิกเหตุการณ์ให้กับแมโค และแมโครที่ประกอบด้วยคำสั่งที่คุณต้องการให้ปุ่มเพื่อดำเนินการแต่ละครั้งที่มีคลิก
ใน Access
จึงควรนึกถึงการแมโครเป็นภาษาการเขียนโปรแกรมประยุกต์ที่คุณเขียน ด้วยการสร้างรายการของการกระทำการดำเนินการ ด้วยเช่นกัน เมื่อคุณสร้างแมโคร คุณเลือกแต่ละแอคชันจากรายการดรอปดาวน์ และจากนั้น กรอกข้อมูลที่จำเป็นสำหรับแต่ละแอคชัน แมโครเปิดใช้งานคุณสามารถเพิ่มฟังก์ชันลงในฟอร์ม รายงาน และตัวควบคุมโดยไม่ต้องการเขียนโค้ดใน Visual Basic for Applications (VBA) มอดูล แมโครให้ชุดย่อยของคำสั่งที่พร้อมใช้งานใน VBA และคนส่วนใหญ่ได้ง่ายในการสร้างแมโครกว่าเพื่อเขียนโค้ด VBA
ตัวอย่างเช่น
สมมติว่า คุณต้องการเริ่มต้นรายงานจากฟอร์มการป้อนข้อมูลของคุณโดยตรง คุณสามารถเพิ่มปุ่มลงในฟอร์ม และสร้างแมโครที่เริ่มต้นรายงานนั้น แมโคอาจเป็นแบบสแตนด์อโลนแมโคร (แยกต่างหากวัตถุในฐานข้อมูล), ซึ่งถูกผูกไว้กับเหตุการณ์เมื่อคลิกของปุ่มแล้ว หรือแมโคอาจฝังตัวลงในเหตุการณ์เมื่อคลิกของปุ่มนั้นได้โดยตรงนั่นคือฟีเจอร์ใหม่ในOffice Access 2007 ด้วยวิธีใด เมื่อคุณคลิกปุ่ม แมโครที่ทำงาน และเริ่มต้นรายงาน
คุณสร้างแมโครได้โดยใช้ตัวสร้างแมโคร ซึ่งจะแสดงให้เห็นดังรูปต่อไปนี้
การแสดงตัวสร้างแมโคร
บนแท็บสร้าง ในกลุ่มอื่น ๆ คลิกแมโคร ถ้าคำสั่งนี้ไม่พร้อมใช้งาน คลิกลูกศรอยู่ใต้ปุ่มคลาสมอดูลของ หรือมอดูล แล้ว คลิ กแมโคร
ทำความเข้าใจกับแมโคร
แมโคคำมักใช้การอ้างอิงถึงวัตถุแมโครแบบสแตนด์อโลน (นั่นคือ วัตถุที่คุณเห็นแมโคร ในบานหน้าต่างนำทางภายใต้), แต่ในความเป็นจริง แมโครวัตถุหนึ่งสามารถประกอบด้วยหลายแมโคร ในกรณี จะถูกอ้างอิงเป็นกลุ่มแมโคร ในกลุ่มแมโครจะแสดงในบานหน้าต่างนำทางเป็นวัตถุเดี่ยวแมโคร แต่ในกลุ่มแมโครที่ประกอบด้วยแมโครมากกว่าหนึ่งจริง ๆ แน่นอนว่า จำเป็นต้องสร้างแมโครแต่ละรายการในวัตถุแยกต่างหากแมโคร
แต่มักจะเข้าใจการจัดกลุ่มแมโครที่สัมพันธ์หลายไปเป็นวัตถุเดี่ยวแมโคร ชื่อในคอลัมน์ชื่อแมโคร ระบุแต่ละแมโคร
แมโครประกอบด้วยแมโครแอคชัน โดยแอคชันส่วนใหญ่จะต้องการอาร์กิวเมนต์อย่างน้อยหนึ่งอาร์กิวเมนต์ นอกจากนี้ คุณยังสามารถตั้งชื่อแมโครแต่ละตัวในกลุ่มแมโครได้ และคุณสามารถเพิ่มเงื่อนไขเพื่อควบคุมวิธีการทำงานของแอคชันแต่ละตัวได้ ส่วนต่างๆ ต่อไปนี้จะให้รายละเอียดเพิ่มเติมเกี่ยวกับคุณลักษณะแต่ละอย่างดังกล่าว
ชื่อแมโคร
ถ้าแมโครวัตถุของคุณประกอบด้วยเพียงหนึ่งแมโคร ชื่อแมโครจะไม่จำเป็น
คุณสามารถอ้างถึงแมโคเพียง ด้วยชื่อของวัตถุแมโคร อย่างไรก็ตาม ในกรณีของกลุ่มแมโคร คุณต้องกำหนดชื่อที่ไม่ซ้ำกับแมโครแต่ละรายการ ถ้าคอลัมน์ชื่อแมโคร จะไม่ปรากฏในตัวสร้างแมโคร คลิกชื่อแมโคร
อาร์กิวเมนต์
อาร์กิวเมนต์คือค่าที่ให้ข้อมูลกับแอคชัน เช่น สตริงใดจะแสดงในกล่องข้อความ
และตัวควบคุมใดจะใช้ดำเนินการ เป็นต้น บางอาร์กิวเมนต์จำเป็นต้องมี ขณะที่บางอาร์กิวเมนต์จะมีหรือไม่ก็ได้ อาร์กิวเมนต์สามารถมองเห็นได้ในบานหน้าต่าง อาร์กิวเมนต์ของแอคชัน ซึ่งอยู่ด้านล่างของตัวสร้างแมโคร
ฟีเจอร์ใหม่ของOffice Access 2007 ตัวสร้างแมโครเป็นอาร์กิวเมนต์ คอลัมน์
ซึ่งช่วยให้คุณสามารถดู (แต่ไม่สามารถแก้ไข) การกระทำอาร์กิวเมนต์บนบรรทัดเดียวกันเป็นการกระทำ จะทำให้ง่ายขึ้นเล็กน้อยเพื่ออ่านแมโครของคุณได้เนื่องจากคุณไม่จำเป็นต้องเลือกแต่ละแอคชันเพื่อแสดงอาร์กิวเมนต์ เมื่อต้องการแสดงคอลัมน์อาร์กิวเมนต์ คลิกอาร์กิวเมนต์
เงื่อนไข
เงื่อนไขระบุเกณฑ์บางอย่างที่ต้องทำให้ตรงก่อน จึงจะสามารถดำเนินการแอคชันได้
คุณสามารถใช้นิพจน์ใดๆ ประเมิณค่าจริง/เท็จ หรือ ใช่/ไม่ใช่ โดยแอคชันจะไม่ถูกดำเนินการถ้านิพจน์ประเมินเป็นค่าเท็จ ไม่ใช่ หรือ 0 (ศูนย์) ถ้านิพจน์ประเมินเป็นค่าอื่นนอกจากนี้ แอคชันจะถูกเรียกใช้
คุณสามารถมีตัวควบคุมเงื่อนไขหนึ่งตัวต่อแอคชันมากกว่าหนึ่งแอคชันได้ด้วยการพิมพ์จุดไข่ปลา (...) ในคอลัมน์ เงื่อนไข สำหรับแอคชันที่ตามมาแต่ละตัวที่คุณต้องการให้เงื่อนไขนำไปใช้ ถ้านิพจน์ประเมินค่าเป็นเท็จ ไม่ใช่ หรือ 0 (ศูนย์) จะไม่มีแอคชันใดถูกดำเนินการ ถ้าเงื่อนไขประเมินค่าเป็นค่าอื่นใด
แอคชันทั้งหมดจะถูกดำเนินการ
เมื่อต้องการแสดงคอลัมน์เงื่อนไข ในตัวสร้างแมโคร บนแท็บออกแบบ ในกลุ่มแสดง/ซ่อน คลิกเงื่อนไข
ใช้นิพจน์นี้เพื่อดำเนินการแอคชัน
[เมือง]="ปารีส" | Paris เป็นค่าของเมืองในเขตข้อมูลบนฟอร์มที่มีการเรียกใช้แมโคร |
DCount("[ID ใบสั่งซื้อ]", "ใบสั่งซื้อ")>35 | มีข้อมูลมากกว่า 35 รายการในเขตข้อมูล ID ใบสั่งซื้อของตารางใบสั่งซื้อ |
DCount("*", "รายละเอียดใบสั่งซื้อ", "[ID ใบสั่งซื้อ]=ฟอร์ม![ใบสั่งซื้อ]![ID ใบสั่งซื้อ]")>3 | มีมากกว่า 3 รายการในตารางรายละเอียดใบสั่งซื้อ โดยที่เขตข้อมูล ID ใบสั่งซื้อของตารางตรงกับเขตข้อมูล ID ใบสั่งซื้อบนฟอร์มใบสั่งซื้อ |
[วันที่ส่งสินค้า] Between #2- ก.พ.-2549# And #2-มี.ค.-2549# | ค่าของเขตข้อมูลวันที่ส่งสินค้าบนฟอร์มที่มีการเรียกใช้แมโคร จะมีค่าหลังจากวันที่ 2 ก.พ. 2549 และไม่เกินวันที่ 2 มี.ค. 2549 |
ฟอร์ม![ผลิตภัณฑ์]![จำนวนหน่วยในคลังสินค้า]<5 | ค่าของเขตข้อมูลจำนวนหน่วยในคลังสินค้าบนฟอร์มผลิตภัณฑ์มีค่าน้อยกว่า 5 |
IsNull([ชื่อ]) | ค่า FirstName บนฟอร์มที่มีการเรียกใช้แมโครเป็นnull (ซึ่งมีค่าไม่มี) นิพจน์นี้จะเทียบเท่ากับ [FirstName] เป็น Null |
[ประเทศ/ภูมิภาค]="สหราชอาณาจักร" And ฟอร์ม![ยอดขายทั้งหมด]![ยอดรวมใบสั่งซื้อ]>100 | ค่าในเขตข้อมูลประเทศ/ภูมิภาคบนฟอร์มที่มีการเรียกใช้แมโคร มีค่าเป็นสหราชอาณาจักร และค่าของเขตข้อมูลยอดรวมใบสั่งซื้อบนฟอร์มยอดขายทั้งหมดมีค่ามากกว่า 100 |
[ประเทศ/ภูมิภาค] In ("ฝรั่งเศส", "อิตาลี", "สเปน") And Len([รหัสไปรษณีย์])<>5 | ค่าในเขตข้อมูลประเทศ/ภูมิภาคบนฟอร์มที่มีการเรียกใช้แมโคร มีค่าเป็นฝรั่งเศส อิตาลี สเปน และรหัสไปรษณีย์มีความยาวไม่เกิน 5 อักขระ |
MsgBox("ยืนยันการเปลี่ยนแปลงหรือไม่",1)=1 | คุณคลิก ตกลง ในกล่องโต้ตอบในฟังก์ชัน MsgBox ที่แสดง "ยืนยันการเปลี่ยนแปลงหรือไม่" ถ้าคุณคลิก ยกเลิก ในกล่องโต้ตอบดังกล่าว Access จะละเว้นแอคชันนั้น |
[TempVars]![MsgBoxResult]=2 | ตัวแปรชั่วคราวที่ใช้เก็บผลลัพธ์ของกล่องข้อความมีค่าเท่ากับ 2 (vbCancel=2) |