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

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

แอปพลิเคชันตัวอย่าง Northwind Orders รุ่นสําหรับนักพัฒนานี้ขั้นสูงกว่ารุ่น Starter ซึ่งจะขยายบน Schema ฐานข้อมูล (ตารางที่ใช้) และตอนนี้มีฟีเจอร์ขั้นสูงเพิ่มเติม ความตั้งใจในที่นี้คือการแนะนําคุณเกี่ยวกับคุณลักษณะของ Microsoft Access ไม่ใช่เพื่อดําเนินธุรกิจเฉพาะใดๆ

  • รายการลําดับพร้อมใช้งานจาก Ribbon มีตัวเลือกการกรองสองสามตัวเลือก และไฮเปอร์ลิงก์เพื่อเปิดแต่ละคําสั่งซื้อ

  • ทั้งรายการใบสั่งซื้อและ Ribbon จะมีปุ่ม เพิ่มคําสั่งซื้อ เพื่อเปิดใบสั่งซื้อใหม่ที่ว่างเปล่า

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

  • ใบสั่งซื้อใหม่และใบสั่งซื้อจะถูกเพิ่มลงในรายการ MRU (ที่ใช้ล่าสุด) ใน Ribbon เรียนรู้เพิ่มเติมผ่านส่วนรายการ MRU ในบทความนี้ 

  • ปล่อยให้ วันที่จัดส่ง และ วันที่ชําระเงิน ว่างไว้ในขณะนี้

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

  • เมื่อต้องการเพิ่มสินค้าลงในใบสั่ง ให้เลือก ประเภทผลิตภัณฑ์ และ ผลิตภัณฑ์ สําหรับใบสั่งนี้ แล้วใส่ จํานวน มีการเติมราคาต่อหน่วย และจะคํานวณราคาด้วยนิพจน์

  • สถานะการสั่งซื้อล่วงหน้าและย้ายลําดับผ่านเวิร์กโฟลว์จาก > ที่ออกใบแจ้งหนี้> จัดส่งแล้ว > ปิด แล้ว โดยใช้ปุ่มที่ด้านบนของฟอร์ม ใบสั่ง

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

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

  • ใบสั่งที่ยังไม่ได้จัดส่งสามารถลบออกได้โดยใช้ปุ่ม ลบใบสั่ง

  • ไม่สามารถแก้ไขสินค้าในรายการใบสั่งหลังจากที่ใบสั่งผ่านสถานะ สร้าง แล้ว

  • ในเวอร์ชัน Northwind Starter กระบวนการสั่งซื้อนั้นง่ายอย่างไม่น่าเชื่อ (เช่น สินค้าคงคลังพร้อมใช้งานเสมอไม่เคยหมดและไม่จําเป็นต้องซื้อ) ตอนนี้ในรุ่น Dev นี้กระบวนการที่สมจริงมากขึ้นแก้ไขปัญหาดังกล่าวอย่างน้อย โปรดจําไว้ว่าเรากําลังแสดงฟีเจอร์ Access และหลักปฏิบัติที่ดีที่สุด ไม่ใช่การใช้แอปพลิเคชันในโลกแห่งความเป็นจริง 

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

ส่วนนี้กล่าวถึงรายละเอียดการใช้งานที่น่าสังเกตของฟอร์มคําสั่งซื้อ frmOrderDetails:

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

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

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

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

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

ProductCategory และ Product คือกล่องคําสั่งผสม Cascading: การเลือกจากกล่องแรก (ProductCategory) จะจํากัดระเบียนถัดไปให้แคบลงเพื่อให้ตรงกับระเบียนผลิตภัณฑ์ย่อย เทคนิคที่ใช้ที่นี่อธิบายไว้ในรายละเอียดด้านล่าง

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

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

กล่องคําสั่งผสม CASCADING

การใช้ประเภทผลิตภัณฑ์และดรอปดาวน์ผลิตภัณฑ์เป็นกล่องคําสั่งผสม Cascading เป็นเรื่องยาก เนื่องจาก Access ไม่สนับสนุนฟีเจอร์นี้นอกกล่อง สี่ขั้นตอนเป็นสิ่งจําเป็นในเทคนิคนี้:

ฟอร์มต้องอยู่ในโหมดฟอร์มต่อเนื่อง (ไม่ใช่แผ่นข้อมูล) กล่องข้อความซ้อนทับส่วนข้อความของแต่ละกล่องคําสั่งผสม โดยปล่อยให้มองเห็นเฉพาะลูกศรดรอปดาวน์ 

คิวรีแหล่งข้อมูลระเบียนของฟอร์ม คือ qryOrderLineItems ใช้ตาราง OrderDetails ต่อปกติ แต่ยังรวมกับตาราง Products และ ProductCategories เพื่อเลือก ProductName และ ProductCategoryName กล่องข้อความที่เหลื่อมกันทั้งสองกล่องจะถูกผูกไว้กับเขตข้อมูลเหล่านี้

กล่องคําสั่งผสม RowSource สําหรับผลิตภัณฑ์จะย้อนกลับไปที่ cboProductCategories เพื่อส่งคืนเฉพาะผลิตภัณฑ์สําหรับประเภทที่เลือกในกล่องคําสั่งผสมนั้น โปรดสังเกตไวยากรณ์ "[ฟอร์ม]! [cboProductCategories]" ในนิพจน์เกณฑ์ ซึ่งมีความยืดหยุ่นมากกว่า Forms ที่ชัดเจน! FormName! ไวยากรณ์ ControlName ซึ่งอ้างอิงหนึ่งฟอร์มตามชื่อ

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

ตรวจ สอบ

การใช้รหัสการตรวจสอบที่ใช้ใน Northwind Dev Edition จะใช้โค้ด 3 บรรทัดเท่านั้น:

  • ใน Form_BeforeUpdate:
       ยกเลิก = ValidateForm(Me)

  • ใน Form_AfterUpdate และ Form_Current:
        ValidateForm_RemoveHighlights ฉัน

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

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

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

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

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

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

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

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

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

×