ส่วนต่อไปนี้แสดงวิธีใช้ฟอร์มพนักงานและวิธีการโปรแกรม ชื่อวัตถุมีให้เพื่อให้คุณสามารถตรวจสอบได้อย่างง่ายดายในฐานข้อมูล Northwind 2.0 Starter Edition
ต่อไปนี้เป็นรายละเอียดที่สําคัญเกี่ยวกับการใช้ฟอร์มรายการพนักงาน
-
เริ่มต้นบนเมนูหลัก การเลือก พนักงาน จากเมนูทางด้านซ้ายจะแสดงรายชื่อของพนักงาน (sfrmMainMenu_EmployeeList) ในพื้นที่ทํางานทางด้านขวา
-
ID ของพนักงานแต่ละคนคือไฮเปอร์ลิงก์เพื่อเปิดเรกคอร์ดของพนักงานนั้นในฟอร์มป็อปอัพเพื่อแก้ไขรายละเอียดของพนักงาน
-
เมื่อต้องการเพิ่มพนักงานใหม่ ให้คลิกปุ่ม เพิ่มพนักงาน ที่ด้านขวาสุดของแถวส่วนหัวซึ่งจะเปิดระเบียนพนักงานใหม่ในฟอร์มป็อปอัพ (sfrmEmployeeDetail_OrderList) เพื่อเพิ่มรายละเอียดของพนักงาน
นี่คือรายละเอียดที่สําคัญเกี่ยวกับการใช้ฟอร์มป็อปอัพรายละเอียดพนักงาน:
-
แบบฟอร์มป็อปอัพรายละเอียดพนักงาน (frmEmployeeDetail) เปิดใช้งานการแก้ไขและการเพิ่มระเบียนพนักงาน
-
ต้องมีฟิลด์สามฟิลด์สําหรับพนักงานทั้งหมด: ชื่อ นามสกุล และตําแหน่งงาน
-
ข้อความแสดงข้อผิดพลาดของ Access เริ่มต้นจะแจ้งเตือนคุณเมื่อทําไม่เสร็จสมบูรณ์อย่างน้อยหนึ่งรายการก่อนที่จะพยายามบันทึกระเบียนพนักงาน การตรวจสอบความถูกต้องจะไม่นําไปใช้กับเขตข้อมูลอื่นๆ เช่น อีเมลแอดเดรสและหมายเลขโทรศัพท์ ผู้ใช้ต้องรับผิดชอบการจัดรูปแบบที่เหมาะสม เช่น (000) 000-000 การตรวจสอบความถูกต้องการเข้าถึงเริ่มต้นบนตัวควบคุมดรอปดาวน์สําหรับ ชื่อเรื่อง จะจํากัดรายการไว้ที่รายการของค่าที่เลือกไว้ล่วงหน้า คุณสามารถเพิ่มชื่อเรื่องใหม่ อีกครั้ง โดยใช้ลักษณะการทํางานของ Access เริ่มต้นสําหรับตัวควบคุมเขตข้อมูลค่า การเลือกรายการแบบหล่นลงบนฟอร์มจะแสดงไอคอนแก้ไข
-
รูปภาพพนักงานจะถูกเก็บไว้ในตารางเป็นเขตข้อมูลสิ่งที่แนบมา คุณเพิ่มรูปภาพใหม่ หรือเปลี่ยนรูปภาพที่มีอยู่ โดยใช้ลักษณะการทํางานเริ่มต้นของ Access สําหรับเขตข้อมูลสิ่งที่แนบมา
-
ถ้าพนักงานได้สร้างใบสั่งแล้ว แบบฟอร์มย่อยทางด้านขวาของป็อปอัพรายละเอียดพนักงานจะแสดงรายการใบสั่งซื้อเหล่านั้นในมุมมองแผ่นข้อมูล
-
คําสั่งใดๆ ที่มีอยู่สําหรับพนักงานรายนั้นสามารถแก้ไขได้โดยการคลิก ID คําสั่งซื้อที่มีไฮเปอร์ลิงก์ # ในฟอร์มย่อย Orders (sfrmOrderDetails)
ฟอร์มพนักงานใช้ทั้งแมโคร VBA และแมโครฝังตัวในตัวควบคุมบนฟอร์มเพื่อดําเนินการตรรกะพื้นฐาน แมโครเหล่านี้มีแมโครแบบสแตนด์อโลนสองตัวและแมโครฝังตัวหลายตัว
รายชื่อพนักงาน
-
ฟอร์มรายการพนักงาน (sfrmMainMenu_EmployeeList) ได้รับข้อมูลจากคิวรีอย่างง่าย qryEmployeeList (จากคุณสมบัติ RecordSource ) การใช้ฟอร์มการป้อนข้อมูลบนคิวรีแบบใช้ตารางเดียวเป็นแนวทางปฏิบัติที่แนะนํา
-
ตัวควบคุมบนแบบฟอร์มรายการพนักงานจะเปิดใช้งาน ซึ่งหมายความว่าคุณสามารถเลือกและล็อกได้ ซึ่งหมายความว่าจะเป็นแบบอ่านอย่างเดียว
-
เขตข้อมูล ชื่อเรื่อง ซึ่งยึดตามเขตข้อมูลที่มีหลายค่า คือกล่องดรอปดาวน์หรือกล่องคําสั่งผสม แหล่งข้อมูลแถวคือรายการค่า ซึ่งหมายความว่ารายการที่มีหรือไม่ก็ได้พร้อมใช้งานจะอยู่ภายในเขตข้อมูลนั้นโดยตรง รายการมีการตั้งค่าคุณสมบัติ จํากัดไว้ที่รายการ เป็น "ใช่" เนื่องจากฟอร์มนี้ไม่ได้มีไว้สําหรับการแก้ไข เขตข้อมูลแบบหลายค่าจะรวมไว้เป็นภาพประกอบของฟีเจอร์เท่านั้น ไม่ใช่คําแนะนํา
-
ในรายการพนักงาน (sfrmMainMenu_EmployeeList) กระบวนงานย่อยสองขั้นตอนในเหตุการณ์ Key Up และ Key Down จะตอบสนองต่อการเคลื่อนย้ายเคอร์เซอร์ของผู้ใช้ในมุมมองแผ่นข้อมูล ซึ่งจะตรวจหาทิศทางของการเคลื่อนไหวของเคอร์เซอร์ (ซ้าย ขวา ด้านบน หรือด้านล่าง) และเรียกใช้ฟังก์ชัน VBA ที่ย้ายโฟกัสไปยังตัวควบคุมที่เหมาะสม
-
คุณแก้ไขระเบียนพนักงานที่มีอยู่และเพิ่มระเบียนใหม่ในแบบฟอร์มรายละเอียด (frmEmployeeDetail)
-
คุณสามารถเปิดแบบฟอร์มรายละเอียดพนักงานจากรายการพนักงานเป็นแบบฟอร์มป็อปอัพที่สามารถแก้ไขได้ด้วยวิธีใดวิธีหนึ่งจากสองวิธีต่อไปนี้
-
ด้วยการเลือกรหัสพนักงาน ซึ่งมีการจัดรูปแบบให้ปรากฏเป็นไฮเปอร์ลิงก์ การเปิดแบบฟอร์มรายละเอียดพนักงาน และการกรองเฉพาะเรกคอร์ดพนักงานนั้น
-
ด้วยการเลือกเพิ่มป้ายชื่อ พนักงาน บนส่วนหัวของฟอร์มเพื่อเปิดฟอร์มรายละเอียดพนักงาน และย้ายโฟกัสไปยังระเบียนใหม่ ระเบียนปัจจุบันทั้งหมดอยู่ในแหล่งระเบียนของฟอร์ม
โปรดทราบว่าสองวิธีสามารถมีผลกระทบที่แตกต่างกันต่อประสิทธิภาพการทํางาน การกรองฟอร์มไปยังระเบียนเดียวจะลดจํานวนข้อมูลที่จะถ่ายโอนจากตารางให้เหลือน้อยที่สุด ด้วยชุดระเบียนขนาดเล็ก ความแตกต่างอาจไม่เห็นได้ชัดเจน
-
รายละเอียดพนักงาน
-
ฟอร์มรายละเอียดพนักงาน (frmEmployeeDetail) ได้รับข้อมูลจากคิวรีแบบง่าย qryEmployeeDetails (จากคุณสมบัติ RecordSource ของฟอร์ม) ขอแนะนําให้ใช้ฟอร์มการป้อนข้อมูลบนคิวรีแบบใช้ตารางเดียว
-
ส่วนคําสั่ง SELECT ใน qryEmployeeDetails จะใช้อักขระตัวแทนเครื่องหมายดอกจัน (*) เพื่อเลือกเขตข้อมูลทั้งหมดในตาราง ในขณะที่ส่วนคําสั่ง SELECT ใน qryEmployeeList แสดงรายการเขตข้อมูลที่ระบุ การใช้อักขระตัวแทนช่วยให้สามารถเรียกใช้เขตข้อมูลใหม่ในตารางต้นแบบได้โดยไม่มีการแก้ไขคิวรีเพิ่มเติม ซึ่งไม่สามารถทําได้กับรายการของฟิลด์เฉพาะ รายการของเขตข้อมูลที่ระบุจะจํากัดชุดระเบียนไว้เฉพาะเขตข้อมูลที่จําเป็นในฟอร์มที่ใช้แสดงเท่านั้น การออกแบบของคุณควรขึ้นอยู่กับการพิจารณาว่าวิธีการใดที่เหมาะสมกับความต้องการของคุณมากกว่าแม้ว่าการกําหนดลักษณะควรไปที่แนวทางที่น่าจะต้องการการบํารุงรักษาในอนาคตน้อยที่สุดซึ่งเป็นการใช้อักขระตัวแทน
-
ตัวควบคุมบนฟอร์มรายละเอียดพนักงานจะเปิดใช้งานและไม่ล็อก ซึ่งหมายความว่าคุณสามารถเลือกและแก้ไขได้
-
เขตข้อมูล ชื่อเรื่อง ซึ่งยึดตามเขตข้อมูลที่มีหลายค่า คือกล่องดรอปดาวน์หรือกล่องคําสั่งผสม แหล่งข้อมูลแถวคือรายการค่า ซึ่งหมายความว่ารายการที่มีหรือไม่ก็ได้พร้อมใช้งานจะอยู่ภายในเขตข้อมูลนั้นโดยตรง รายการมีการตั้งค่าคุณสมบัติ จํากัดไว้ที่รายการ เป็น "ไม่ใช่" เนื่องจากฟอร์มนี้มีไว้สําหรับการแก้ไข การเพิ่มหรือการแก้ไขชื่อเรื่องจะใช้วิธีการที่มีอยู่แล้วภายใน Access จึงไม่จําเป็นต้องใช้โค้ด เขตข้อมูลแบบหลายค่าจะรวมไว้เป็นภาพประกอบของฟีเจอร์เท่านั้น ไม่ใช่คําแนะนํา
-
คุณสามารถแก้ไขระเบียนพนักงานที่มีอยู่และระเบียนใหม่ได้ในแบบฟอร์มรายละเอียด
-
คุณสามารถเปิดแบบฟอร์มรายละเอียดพนักงานจากรายการพนักงานเป็นแบบฟอร์มป็อปอัพที่สามารถแก้ไขได้ด้วยวิธีใดวิธีหนึ่งจากสองวิธีต่อไปนี้
-
โดยการเลือกรหัสพนักงาน ซึ่งมีการจัดรูปแบบให้ปรากฏเป็นไฮเปอร์ลิงก์ ให้เปิดแบบฟอร์มรายละเอียดพนักงานและกรองเฉพาะเรกคอร์ดพนักงานนั้น
-
ด้วยการเลือกเพิ่มป้ายชื่อ พนักงาน บนส่วนหัวของฟอร์มเพื่อเปิดฟอร์มรายละเอียดพนักงาน และย้ายโฟกัสไปยังระเบียนใหม่ ระเบียนปัจจุบันทั้งหมดอยู่ในแหล่งระเบียนของฟอร์ม
-
-
การกรองแบบฟอร์มไปยังเรกคอร์ดเดียวจะลดจํานวนข้อมูลที่จะถ่ายโอนไปยังแบบฟอร์มจากตาราง ด้วยชุดระเบียนขนาดเล็ก เช่น ข้อมูลตัวอย่าง ความแตกต่างอาจมองไม่เห็น
-
ตัวควบคุมฟอร์มย่อย (sfrmEmployeeDetail_OrderList) ทางด้านขวาของ Personal Information จะแสดงใบสั่งซื้อสําหรับพนักงานที่เลือกในปัจจุบัน (ถ้ามี) ฟอร์มย่อยในตัวควบคุมฟอร์มย่อยจะถูกใช้ใหม่จากส่วน ใบสั่งซื้อ คุณสมบัติ Access LinkMasterFields/LinkChildFields ที่มีอยู่แล้วภายในของตัวควบคุมฟอร์มย่อยจะซิงโครไนซ์และกรองระเบียนที่แสดงสําหรับพนักงานแต่ละคน
-
ในรายละเอียดพนักงาน (frmEmployeeDetail) กระบวนงานย่อยสองขั้นตอนในเหตุการณ์ปัจจุบันของฟอร์มและเหตุการณ์ On Close ตอบสนองต่อเหตุการณ์เหล่านั้น:
-
On Current shows or hides the Add Employee label depending on whether the current record is an existing record, or when it is a record for a new employee, started but not yet saved.
-
เมื่อ ปิด ดําเนินการบํารุงรักษาสองอย่าง โดยจะสอบถาม Recordset ในฟอร์มย่อยรายละเอียดพนักงานอีกครั้งเพื่ออัปเดตการเพิ่มหรือการเปลี่ยนแปลงใดๆ ที่ทําในฟอร์มรายละเอียด โดยจะซิงโครไนซ์การแสดงจํานวนพนักงานในเมนูหลักอีกครั้งโดยการเรียกแมโครนั้น
-
แมโคร
macMainMenu_UpdateSubs แมโครนี้จะทํางานแบบสแตนด์อโลนเมื่อเกิดเหตุการณ์บางอย่าง ขึ้น รวมถึงฟอร์มของพนักงานด้วย ภายใน macMainMenu_UpdateSubs แมโครย่อยจะถูกจัดกลุ่มตามฟีเจอร์ที่ใช้ สําหรับพนักงาน แมโครย่อยจะซิงโครไนส์การตรวจนับเรกคอร์ดพนักงานกับการตรวจนับที่แสดงบนเมนูหลัก
แมโครฝังตัว ฟอร์มพนักงานจะถูกขับเคลื่อนโดยแมโครที่ฝังตัวซึ่งอยู่ภายในฟอร์มและสามารถแก้ไขได้จากฟอร์มเท่านั้น ในรายการพนักงาน (sfrmMainMenu_EmployeeList):
-
ไฮเปอร์ลิงก์รหัสพนักงาน การคลิก รหัสพนักงาน ในแบบฟอร์ม รายการพนักงาน จะเปิดแบบฟอร์ม รายละเอียดพนักงาน และตั้งค่าโฟกัสที่เรกคอร์ดพนักงานที่เลือก
-
เพิ่มป้ายชื่อพนักงาน การคลิกปุ่ม เพิ่มพนักงาน จะเปิดฟอร์มรายละเอียดพนักงาน (frmEmployeeDetail) และตั้งค่าโฟกัสไปยังระเบียนใหม่
-
รายละเอียด พนักงาน การคลิกปุ่ม เพิ่มพนักงาน บนส่วนหัวจะบันทึกระเบียนปัจจุบันและตั้งค่าโฟกัสไปยังระเบียนใหม่