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

เลือกหัวข้อใดๆ ด้านล่างเพื่อเรียนรู้เกี่ยวกับ พนักงาน ใน Northwind Developer Edition 

พนักงานมีฟอร์มแยกหนึ่งฟอร์มซึ่งทํางานเป็นฟอร์มรายการและฟอร์มรายละเอียด 

ใช้พนักงานเพื่อเพิ่มพนักงานใหม่และอัปเดตข้อมูลเกี่ยวกับพนักงานที่มีอยู่ 

เลือกแท็บ พนักงาน บน Ribbon เพื่อแสดงพนักงานในแบบฟอร์ม รายการพนักงาน frmEmployeeList ซึ่งเป็นฟอร์มแยกที่มีฟีเจอร์ต่อไปนี้: 

  • ส่วนบนของแบบฟอร์มคือมุมมองเดียวของพนักงานหนึ่งคน

  • ส่วนล่างของแบบฟอร์มคือมุมมองแผ่นข้อมูลของพนักงานทั้งหมด

  • การเลือกพนักงานในส่วนใดส่วนหนึ่งจะเป็นการกําหนดโฟกัสที่พนักงานในส่วนอื่นของแบบฟอร์มแยกด้วย

  • คุณสามารถเพิ่ม แก้ไข หรือลบพนักงานในส่วนใดส่วนหนึ่งของฟอร์มแยกได้

  • การใช้ฟอร์มแยกกับส่วนมุมมองแผ่นข้อมูลจะถือว่าแหล่งระเบียนของฟอร์มมีหลายระเบียน

ผลกระทบต่อประสิทธิภาพการทํางานที่เป็นไปได้ของฟอร์มแยก 

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

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

การแก้ไขพนักงาน

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

ตารางการค้นหา รายการค่า และตัวควบคุมดรอปดาวน์

  • รายการดรอปดาวน์ ชื่อเรื่อง จะจํากัดรายการไปยังรายการชื่อเรื่องที่เลือกไว้ล่วงหน้า ชื่อเรื่องจะอยู่ในตารางการค้นหาที่ชื่อว่า ชื่อเรื่อง

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

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

การคลิกที่ไอคอนการแก้ไขจะเปิดฟอร์มแก้ไขชื่อเรื่อง frmEmployeeTitles ซึ่งคุณสามารถเปลี่ยนหรือเพิ่มลงในรายการชื่อเรื่องที่ได้รับการอนุมัติได้ 

หมาย เหตุ:ในสภาพแวดล้อมการผลิตส่วนใหญ่ การแก้ไขหรือการเพิ่มชื่อเรื่องจะจํากัดเฉพาะผู้ใช้ที่มีสิทธิ์ขั้นสูงเท่านั้น
 

เขตข้อมูลการค้นหา Self-Referential

ฟังก์ชันพนักงานแสดงแนวคิดของฟิลด์ รหัส Self-Referential ตารางจะมีฟิลด์ SupervisorID พร้อมด้วย รหัสพนักงานสําหรับพนักงานคนอื่นๆ เมื่อต้องการกําหนดผู้ควบคุมงาน จะมีการป้อน รหัสพนักงาน สําหรับพนักงานอื่นในฟิลด์นี้ Access บังคับให้มี Referential Integrity กับความสัมพันธ์นี้

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

เขตข้อมูลและตัวควบคุมสิ่งที่แนบมา

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

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

ฟอร์มย่อยที่มีข้อมูลที่เกี่ยวข้อง

ฟอร์มย่อยการสั่งซื้อ (ทางด้านขวาของฟอร์มพนักงาน) จะแสดงใบสั่งซื้อล่าสุด (ถ้ามี) ที่จัดการโดยพนักงาน ฟอร์มย่อยจะแสดงลําดับในมุมมองแผ่นข้อมูล โดยเรียงลําดับจากใหม่ที่สุดไปหาเก่าที่สุด เมื่อต้องการแก้ไขใบสั่งซื้อที่มีอยู่สําหรับพนักงานรายนั้น ให้คลิก ID คําสั่งซื้อที่มีไฮเปอร์ลิงก์ # ในฟอร์มย่อยคําสั่งซื้อ

แหล่งระเบียนของฟอร์มพนักงาน

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

  • ส่วนคําสั่ง Select ของคิวรีนี้ใช้อักขระตัวแทน '*' เพื่อส่งกลับเขตข้อมูลทั้งหมดจากตารางพนักงาน

  • เขตข้อมูลจากการคํานวณสองเขตข้อมูลในคิวรีจะส่งกลับ FirstName LastName และ LastName, FirstName
     

ค่าจากการคํานวณในตัวควบคุม

หมาย เหตุ: เขตข้อมูลจากการคํานวณ จะไม่ถูก จัดเก็บไว้ในตาราง อย่างไรก็ตาม แหล่งข้อมูลระเบียน เหล่านี้จะ พร้อมใช้งานใน แหล่งระเบียนของฟอร์ม

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

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

การกระทําของตัวควบคุมที่มีอยู่แล้วภายใน

ลักษณะการทํางานเริ่มต้นของตัวเลือกระเบียนของฟอร์ม: 

  • การคลิกซ้าย บนตัวเลือกระเบียนทางด้านซ้ายของฟอร์มในมุมมองเดียวจะบันทึกระเบียนปัจจุบันที่มีการแก้ไขใดๆ การบันทึกโดยการคลิกซ้ายตัวเลือกระเบียนจะทริกเกอร์ฟังก์ชันและย่อย VBA ที่เหมาะสม

  • การคลิกขวา บนตัวเลือกระเบียนทางด้านซ้ายของฟอร์มในมุมมองเดียวจะป็อปอัพเมนูเพื่อดําเนินการต่างๆ เช่น ตัด คัดลอก หรือวางระเบียน การลบหรือการตัดเรกคอร์ดจะทริกเกอร์ฟังก์ชัน EmployeeCanBeDeleted ที่ อธิบายไว้ด้านล่าง

  • ต้องเปิดใช้งานตัวเลือกระเบียนเพื่อให้ฟอร์มมีลักษณะการทํางานเริ่มต้นนี้พร้อมใช้งาน
     

Referential Integrity สําหรับระเบียนในฟอร์ม

Referential Integrity ป้องกันการลบพนักงานที่มีระเบียน รอง ในตารางที่เกี่ยวข้อง ดังนั้น Access จะแสดงข้อผิดพลาดถ้าผู้ใช้พยายามลบระเบียนที่มีระเบียนรอง Northwind Employee Form Access จะแทนที่ข้อความแสดงข้อผิดพลาดทั่วไปที่เป็นค่าเริ่มต้นเกี่ยวกับ Referential Integrity ด้วยข้อความแบบกําหนดเอง

โค้ดในกระบวนงานลบของฟอร์มตอบสนองต่อความพยายามในการตัดระเบียนจากเมนูคลิกขวา หรือลบระเบียนโดยใช้แป้น Delete  

ฟังก์ชันส่วนตัว EmployeeCanBeDeleted จะตรวจสอบระเบียนที่เกี่ยวข้องสําหรับพนักงานนั้นในตารางใบสั่งซื้อใบสั่งซื้อพนักงาน และสิทธิ์การใช้งานของพนักงาน 

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

ตรวจ สอบ

พนักงานใช้การตรวจสอบความถูกต้องและการจัดการข้อผิดพลาดมาตรฐาน การตรวจสอบความถูกต้องสําหรับตัวควบคุมมีอยู่สองชนิด

  • ฟิลด์ที่จําเป็น

  • รูปแบบมาตรฐาน

การตรวจสอบความถูกต้องของเขตข้อมูลที่จําเป็น

 ต้องมีสามฟิลด์สําหรับพนักงานทั้งหมด:

  • ชื่อ

  • นามสกุล

  • ตําแหน่งงาน

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

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

โมดูล modValidation ประกอบด้วยฟังก์ชันเหล่านี้:

  • ตรวจสอบความถูกต้องของฟอร์ม

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

การจัดการพนักงานใหม่

การคลิกปุ่ม เพิ่มพนักงาน จะรัน btnNewEmployee_Click ย่อยส่วนตัวเพื่อ: 

  • บันทึกระเบียนปัจจุบัน และ

  • ตั้งค่าโฟกัสของฟอร์มไปยังระเบียน
    ใหม่ '

อักขระตัวแทนกับเขตข้อมูลที่มีชื่อในคิวรีแบบใช้เลือกข้อมูล

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

ตัวเลือกการออกแบบที่เหมาะสม

การออกแบบของคุณควรขึ้นอยู่กับวิธีการที่เหมาะสมกับความต้องการของคุณ แม้ว่าเมื่อเป็นไปได้ความชอบมักจะไปที่วิธีการที่น้อยที่สุดที่จะต้องมีการบํารุงรักษาในอนาคต (เช่นวิธีการใช้อักขระตัวแทน) 

กล่องคําสั่งผสมที่ผูกกับตารางการค้นหา — สองวิธี

รายการที่เกี่ยวข้อง เช่น หัวหน้างานของพนักงาน จะแสดงอยู่ในดรอปดาวน์หรือกล่องคําสั่งผสมบนฟอร์ม เฉพาะ Foreign Key สําหรับ SupervisorID เท่านั้นที่จําเป็นในคิวรี แหล่งข้อมูลระเบียน ของแบบฟอร์ม เนื่องจากเขตข้อมูลนั้นผูกอยู่กับเขตข้อมูล Foreign Key (SupervisorID) กล่องคําสั่งผสมจะแสดงค่าข้อความที่สอดคล้องกันด้วย

กล่องคําสั่งผสมสองคอลัมน์ที่มีคอลัมน์ ID ที่ซ่อนอยู่และคอลัมน์คําอธิบายที่มองเห็นได้ทําให้ทํางานนี้ ในฟอร์มพนักงาน กล่องคําสั่งผสม Supervisor จะผูกอยู่กับคิวรีแบบสองคอลัมน์อย่างง่าย ดูคุณสมบัติ RowSource สําหรับ Supervisor

อย่างไรก็ตาม ในบางกรณี ตารางการค้นหาไม่มีคีย์หลักที่แยกต่างหาก ดังนั้น ค่าข้อความเองจึงเป็นคีย์หลัก

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

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

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

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

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

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

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

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

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

×