ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

เนื้อหาที่นี่อาจนําไปใช้กับ Northwind 2.0 Developer Edition และ Starter Edition 

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

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

สิ้นสุดทรัพยากรการสนับสนุนสําหรับ Office - ปรับใช้ Office | ปรับใช้ Office Microsoft Learn  

ด้านล่างนี้เป็นลิงก์ไปยังเอกสารประกอบของ Access ที่ Microsoft

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

เรียนรู้เพิ่มเติมเกี่ยวกับตําแหน่งที่ตั้งที่เชื่อถือได้: 

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


เหตุการณ์ (เช่น การคลิกตัวควบคุม) บนฟอร์ม (เช่น ปุ่ม กล่องข้อความ ป้ายชื่อ และอื่นๆ) จะทริกเกอร์กระบวนการอื่นๆ เช่น การเพิ่ม การลบระเบียน หรือการเปิดฟอร์ม กระบวนการเหล่านี้สามารถนําไปใช้ได้โดยใช้แมโครหรือ VBA Northwind Starter Edition ใช้แมโครเป็นส่วนใหญ่ และ VBA บางตัวที่แมโครไม่สามารถทํางานที่จําเป็นได้ Northwind Developer Edition ใช้ VBA เป็นหลัก 

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

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

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

ตัวแปรสาธารณะโมดูล VBA: 

TempVars: 

การจัดเก็บค่าในตารางภายในเครื่อง

  • ตัวแปรสาธารณะและ TempVars มีอยู่สําหรับเซสชันปัจจุบันและออกจากขอบเขตเมื่อปิดแอปพลิเคชัน แต่จะเกิดอะไรขึ้นถ้าคุณต้องการเก็บตัวแปรเฉพาะของผู้ใช้ไว้ในเซสชันต่างๆ คุณสามารถจัดเก็บค่าชนิดเหล่านี้ไว้ในตารางภายในเครื่อง ใน Northwind 2.0 ตัวแปรดังกล่าวตัวหนึ่งจะถูกบันทึกในตารางที่เรียกว่า SystemSettings ค่าในตารางคือ ShowWelcome ค่านี้จะบอก Access ว่าคุณต้องการเห็นหน้าจอต้อนรับทุกครั้งที่คุณเข้าสู่ระบบหรือไม่

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

  1. ฟอร์มที่สองสามารถ "ย้อนกลับ" ไปยังฟอร์มแรกเพื่อรับค่าบางค่า ซึ่งอาจอยู่ในตัวควบคุมที่มองเห็นได้หรือไม่สามารถมองเห็นได้  ตัวอย่างเช่น:
    lngCustomerID = Forms!FirstForm!cboCustomerID 

  2. ฟอร์มแรกสามารถบันทึกค่าไปยังตัวแปรส่วนกลางหรือ TempVars ตัวอย่างเช่น:
    g_lngUserID = Me.cboUserID 
    TempVars.Add "UserID", Me.cboUserID 

วิธีการที่มักใช้ใน Northwind Developer Edition และในชีวิตระดับมืออาชีพของเราคือการใช้อาร์กิวเมนต์ OpenArgs ของ DoCmd.OpenForm หรือ OpenReport ตัวอย่างเช่น:

DoCmd.OpenForm "frmCompanyDetail", OpenArgs:=StringFormat("CompanyID={0} &CompanyTypeID={1}", Me.VendorID, ctVendor)

เรากําลังรวมเทคนิคสองอย่างไว้ที่นี่: (1) การใช้ OpenArgs เพื่อส่งผ่านใน VendorID และ VendorType และ (2) การใช้ฟังก์ชัน StringFormat() เพื่อสร้าง ตัวอย่างเช่น สตริงนี้: 

CompanyID=5&CompanyTypeID=2 

สตริงนี้มีลักษณะเหมือนกับสตริงคิวรีเหมือนกับที่ใช้ในเบราว์เซอร์ ซึ่งประกอบด้วย "คู่ชื่อ/ค่า" อย่างน้อยหนึ่งคู่ โดยคั่นด้วยอักขระเครื่องหมายและ: 

name1=value1&name2=value2


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

เมื่อถึงจุดสิ้นสุดการรับของ DoCmd.OpenForm เรามักจะอยู่ในเหตุการณ์ Form_Open หรือ Form_Load และต้องการแยกวิเคราะห์สตริง OpenArgs ลงในคอมโพเนนต์

ใน Northwind คุณสามารถทําได้ด้วยฟังก์ชัน StringToDictionary ซึ่งจะใช้ฟังก์ชันคล้ายคิวรีและแยกวิเคราะห์ไปยังคอมโพเนนต์ของคิวรี คอมโพเนนต์เหล่านี้จะถูกเก็บไว้ในวัตถุ Scripting.Dictionary โปรดทราบว่าคุณต้องใช้ เครื่องมือ > การอ้างอิง และตั้งค่าการอ้างอิงไปยัง Microsoft Scripting Runtime (scrrun.dll)

ฟีเจอร์และประโยชน์ของวัตถุพจนานุกรมประกอบด้วย:  

  • ลําดับขององค์ประกอบไม่สําคัญ

  • ฟังก์ชันง่ายๆ ในการเพิ่มและลบองค์ประกอบของคอลเลกชัน

  • ฟังก์ชันที่จะวนรอบคอลเลกชัน เพื่อให้คุณสามารถทราบถึงสิ่งที่อยู่ในคอลเลกชัน

  • ฟังก์ชัน Exists เพื่อให้คุณสามารถทดสอบว่ามีองค์ประกอบบางอย่างพร้อมใช้งานหรือไม่

การใช้วัตถุพจนานุกรมจะปรากฏทั่วทั้ง Northwind ตัวอย่างเช่น เหตุการณ์ Form_Load ใน frmGenericDialog

แมโครที่สร้างขึ้นด้วยตัวช่วยสร้างตัวควบคุมใน Access ไม่มีการจัดการข้อผิดพลาดเลย VBA ที่สร้างขึ้นด้วยตัวช่วยสร้างตัวควบคุมอาจถูกจํากัดไว้ที่ MsgBox Err.Description ทั่วไป

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

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

แมโคร AutoExec เรียกฟังก์ชัน Startup ใน modStartup ในรุ่น Starter ฟังก์ชันจะสร้างอินสแตนซ์ของ clsErrorHandler และบันทึกเป็นตัวแปรส่วนกลางที่พร้อมใช้งานตลอดแอปพลิเคชัน ในรุ่น Dev มีการใช้คลาสแบบคงที่ – ดูข้อคิดเห็นที่ด้านบนของคลาสมอดูล

ในความเป็นจริงรหัสการจัดการข้อผิดพลาดในขั้นตอนมีความสอดคล้องกันเพื่อให้เราสามารถสร้างทั้งหมดได้ในเวลาน้อยกว่าห้านาทีโดยใช้รหัส VBA เฉพาะที่ทําให้แต่ละขั้นตอนมีตัวจัดการข้อผิดพลาดที่เหมาะสม (โค้ดไม่รวมอยู่ในเทมเพลต) ทั้ง Northwind 2.0 รุ่นเทมเพลต Starter และ Developer เริ่มแรกมาพร้อมกับวิธีการจัดการข้อผิดพลาดนี้ 
'

การจัดการข้อผิดพลาดที่ได้รับการปรับปรุง

ตั้งแต่เวอร์ชัน 2.2 ของ Northwind Developer Edition ตัวจัดการข้อผิดพลาดได้รับการปรับปรุงตามคําติชมจากชุมชน Access รุ่นของ Starter ไม่เปลี่ยนแปลง 

ในสาระสําคัญตัวจัดการข้อผิดพลาดในเวอร์ชันก่อนหน้า (2.0 - เผยแพร่ในเดือนเมษายน 2023) คือ:

Public Sub HandleError(…)
    MsgBox Err.Description
End Sub


ในเวอร์ชัน 2.2 จะมีการอัปเกรดเป็น:

Public Sub HandleError (…, Optional ByVal IsEventProcedure As Boolean = False)
    If Not IsEventProcedure Then
        Err.Raise lngError, strErrSource
    End If
    MsgBox Err.Description
End Sub


เมื่อต้องการทําความเข้าใจว่าทําไมจึงทําการเปลี่ยนแปลงนี้ ก่อนอื่นให้ทําความเข้าใจสิ่งที่ทําให้โค้ดทํางาน:

  • แมโคร AutoExec เรียกกระบวนงานการเริ่มต้น ซึ่งจะดําเนินการเตรียมใช้งานบางอย่างก่อนที่จะเปิดฟอร์มแรก

  • ผู้ใช้โต้ตอบกับแอปพลิเคชัน เช่น การเปิดฟอร์มหรือคลิกปุ่ม ทําให้กระบวนงานเหตุการณ์ทํางาน เช่น Form_Load และ cmdPrintInvoice_Click
    '

นอกจากกระบวนงานเหตุการณ์แล้ว แอปพลิเคชันยังมี Subroutines และฟังก์ชัน ส่วนใหญ่อยู่ในโมดูล และโค้ดนั้นจะถูกเรียกจากกระบวนงานเหตุการณ์ ซึ่งเรียกว่ากระบวนการ "มาตรฐาน"

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

ใน Northwind เวอร์ชัน 2.2 กระบวนการมาตรฐานจะไม่จัดการกับข้อความแสดงข้อผิดพลาด แต่ใช้ Err.Raise ให้รายงานกลับไปยังกระบวนงานเหตุการณ์การโทร กระบวนงานเหตุการณ์การโทรจะแสดงข้อผิดพลาดที่ยกขึ้นและดําเนินการต่อที่ Exit_Handler สิ่งนี้ดีกว่าเพราะมันช่วยให้ขั้นตอนการโทรจบลงอย่างสวยงาม

เมื่อต้องการใช้โค้ด Northwind เวอร์ชัน 2.2 กระบวนงานเหตุการณ์จะต้องผ่านไปยัง HandleError อาร์กิวเมนต์ที่สามที่ระบุว่าผู้เรียกเป็นกระบวนงานเหตุการณ์ Northwind Dev Edition ได้รับการอัปเดตให้ดําเนินการดังกล่าว

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

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

ในรุ่น Northwind Dev เมื่อต้องการใช้คุณลักษณะ MRU (ซึ่งไม่มีอยู่ในรุ่น Starter) คุณต้องสร้างรายการต่อไปนี้ก่อน: 

  1. ตารางเพื่อเก็บข้อมูล MRU

  2. รหัสที่จะอัพเดตตารางเมื่อใบสั่งหรือใบสั่งซื้อ (PO) เปิดขึ้น

  3. รหัสสําหรับอัปเดตดรอปดาวน์ MRU ใน Ribbon

  4. รหัสที่จะโหลดสินค้าเมื่อเลือกรายการ MRU จาก Ribbon

ลองดูรายละเอียดเพิ่มเติมแต่ละข้อ 


1. ตารางเพื่อจัดเก็บข้อมูล MRU

การออกแบบตาราง MRU นั้นคุ้มค่าที่จะตรวจสอบโดยเฉพาะอย่างยิ่งดัชนี โปรดทราบว่ามีดัชนี SortIdx ซ้ํากันเพื่อช่วยในการเรียงลําดับอย่างรวดเร็วของรายการ MRU ในรายการดรอปดาวน์ Ribbon และดัชนีที่ไม่ซ้ํากันเพื่อบังคับใช้กฎทางธุรกิจที่ผู้ใช้แต่ละรายสามารถเกิดขึ้นได้เพียงครั้งเดียวเท่านั้น ตัวอย่างเช่น การเปิดลําดับเดียวกันสองครั้งจะไม่สร้างสองระเบียนในตาราง MRU


ตารางใช้ประโยชน์จากข้อเท็จจริงที่ว่าเขตข้อมูล PK (คีย์หลัก) ที่เกี่ยวข้องกับ MRU ทั้งหมดในฐานข้อมูลคือ AutoNumber ดังนั้นจึงสามารถใช้ชนิดข้อมูล Long Integer สําหรับ PKValue ได้

2. รหัสเพื่ออัปเดตตารางเมื่อคําสั่งซื้อหรือ P.O. เปิดอยู่

ใน NW2 เราเลือกที่จะเพิ่มลงในรายการ MRU เฉพาะเมื่อสร้างบันทึกใหม่เท่านั้น ไม่ใช่เมื่อมีการอัปเดตระเบียนที่มีอยู่อีกครั้ง แน่นอนว่าเราสามารถย้ายการโทร AddToMRU จาก Form_AfterInsert ไปยัง Form_AfterUpdate เพื่อสนับสนุน

ขั้นตอน AddToMRU และ DeleteFromMRU ถูกนําไปใช้ใน modGlobal ซึ่งเป็นโมดูลมาตรฐานที่สามารถมองเห็นขั้นตอนสาธารณะได้จากทุกรูปแบบ

AddToMRU (ตามชื่อที่แนะนํา) จะเพิ่มรายการใหม่ลงในตาราง MRU จากนั้นเลือกตัดแต่งกลับ ลบระเบียนที่เก่าที่สุด ถ้าขยายเกินขนาดสูงสุด (MAX_MRU_COUNT) ขั้นตอนสุดท้ายน่าจะเป็นที่ทราบกันดีของนักพัฒนา Access: ต้องรีเฟรชรายการดรอปดาวน์ Ribbon และดําเนินการได้สําเร็จโดยการโทร InvalidateControl นี่คือสัญญาณไปยัง Ribbon เพื่อเรียกใช้กระบวนการเตรียมใช้งานอีกครั้ง 

3. โค้ดเพื่ออัปเดตดรอปดาวน์ MRU ใน Ribbon 

เมื่อถึงเวลาเริ่มต้นระบบ และหลังจากมีการเรียก InvalidateControl แล้ว ชุดฟังก์ชันที่ซับซ้อนจะถูกดําเนินการเพื่อใส่ข้อมูลใน Ribbon  ขั้นตอนเหล่านี้จะถูกเรียกโดย Ribbon XML ในตาราง uSysRibbons ซึ่งระบุในส่วน:

<group id="gCurrentStatus" label="MRU">
    <box id="bxMRU" boxStyle="vertical">
        <dropDown id="ddMRU"
                  getItemCount="ddMRU_GetItemCount"
                  getItemLabel="ddMRU_GetItemLabel"
                  getSelectedItemIndex="ddMRU_GetSelectedItemIndex"
                  getItemID="ddMRU_GetItemID"
                  onAction="ddMRU_OnAction"
                  screentip="Most Recently Used Objects">
        </dropDown>
    </box>
</group>

ฟังก์ชันการเรียกกลับทั้งสี่ฟังก์ชันนี้เติมข้อมูลในรายการดรอปดาวน์ โปรดทราบว่านี่เป็นแนวคิดเดียวกับที่อธิบาย ไว้ในที่นี้สําหรับกล่องคําสั่งผสมมาตรฐาน

ถ้าคุณยกเลิกการ ใส่เครื่องหมายดีบักบรรทัด Print ใน modRibbonCallback และรีสตาร์ตแอปพลิเคชัน หน้าต่าง Immediate จะแสดงลําดับดังนี้: 

ddMRU_GetItemCount    ddMRU    6 
ddMRU_GetItemLabel    ddMRU    0      Order 60, Proseware, Inc.
ddMRU_GetItemID       ddMRU    0       2 
ddMRU_GetItemLabel    ddMRU    1      Order 62, Best For You Organics Company
ddMRU_GetItemID       ddMRU    1       4 
ddMRU_GetItemLabel    ddMRU    2      Order 63, Wide World Importers
ddMRU_GetItemID       ddMRU    2       5 
ddMRU_GetItemLabel    ddMRU    3      Order 66, Proseware, Inc.
ddMRU_GetItemID       ddMRU    3       8 
ddMRU_GetItemLabel    ddMRU    4      Order 67, Best For You Organics Company
ddMRU_GetItemID       ddMRU    4       9 
ddMRU_GetItemLabel    ddMRU    5      Order 68, Adatum Corporation
ddMRU_GetItemID       ddMRU    5       10 
ddMRU_GetSelectedItemIndex  ddMRU    0


เราสามารถเห็นที่นี่ว่า Access กําลังเรียกใช้กระบวนงานที่ส่งกลับจํานวนรายการที่จะโหลดในอาร์กิวเมนต์ ByRef ของ ddMRU_GetItemCount ก่อน นี่ยังเป็นเวลาที่เราเปิดคิวรีบนตาราง MRU และแคชเนื่องจากกําลังจะใช้งานหลายครั้ง 

จากนั้น Ribbon จะเรียกสองขั้นตอนซ้ําๆ เพื่อรับค่า ID และป้ายชื่อสําหรับดรอปดาวน์สองคอลัมน์ 

สุดท้าย จะเรียกกระบวนการเพื่อยกเลิกว่ารายการใดควรถูกเลือก (ในกรณีของเรา นี่เป็นรายการแรก) 

4. รหัสสําหรับการโหลดรายการเมื่อรายการ MRU ถูกเลือกจาก Ribbon

เช่นเดียวกับรายการ Ribbon อื่นๆ คุณสมบัติ OnAction ใน Ribbon XML จะระบุฟังก์ชันการเรียกกลับที่จะใช้ในการดําเนินการ:

onAction="ddMRU_OnAction"

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

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

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

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

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

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

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

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

×