ตัวอย่างการนำค่าจาก Index ของ Combobox มาใช้งาน

ลองดูกรณีศึกษานี้กันค่ะ เนื่องจากว่า เราต้องส่งของให้ลูกค้า ทั้งนี้ ที่อยู่ของลูกค้าในการจัดส่งอาจเปลี่ยนแปลงได้ไม่ตรงกับที่อยู่ในการจดทะเบียนบริษัทก็เป็นได้ ดังนั้น การออกแบบฟอร์มก็ควรจะยืดหยุ่น ให้เปลี่ยนที่อยู่ได้ ในขณะเดียวกันก็ยังมีค่าเริ่มต้นของที่อยู่ตามฐานข้อมูลในตาราง Customers ไว้ก่อน ลองดูการทำงานของฟอร์มนี้กันค่ะ
ตัวอย่างการนำค่าจาก Index ของ Combobox มาใช้งาน
ทักษะ (ระบุได้หลายทักษะ)

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

ดังนั้น การออกแบบฟอร์มก็ควรจะยืดหยุ่น ให้เปลี่ยนที่อยู่ได้
ในขณะเดียวกันก็ยังมีค่าเริ่มต้นของที่อยู่ตามฐานข้อมูลในตาราง Customers ไว้ก่อน 
ลองดูการทำงานของฟอร์มนี้กันค่ะ

ตัวอย่างการนำค่าจาก Index ของ Combobox มาใช้งาน

ฟอร์มนี้ เป็นฟอร์มสำหรับพิมพ์ซองจดหมาย โดย

  1. เลือกรายการลูกค้าจาก ComboBox
  2. หลังจากนั้นจะมี ชื่อผู้ติดต่อ,ชื่อบริษัท และ ที่อยู่ แสดงบน TextBox ต่างๆ  ทั้งนี้ ข้อมูลบน TextBox ยังสามารถเปลี่ยนแปลงได้ค่ะ
  3. กดปุ่มพิมพ์ เพื่อพิมพ์ Label ไว้แปะกล่องวัสดุ

ซึ่งมุมมอง Design ของฟอร์มเป็นดังนี้ค่ะ

การออกแบบ Forms

ลองมาดูขั้นตอนการพัฒนาฟอร์มนี้กันค่ะ

ขั้นตอนแรก

กำหนด Rowsource ให้มีฟิลด์ต่างๆ ที่จะนำมาแสดงบน Textbox ให้เรียบร้อย ดังรูป

การนับ index ใน Field ให้เริ่มนับจาก 0

จากรูป วิธีการนับ Index ของ comboBox จะเริ่มนับจาก 0 ค่ะ

ขั้นตอนที่ 2

การนำค่าไปแสดงบน Textbox  
หากเราต้องการให้สามารถเปลี่ยนแปลงค่าได้ เราจำเป็นต้องใช้ชุดคำสั่ง Macro Access ช่วย

โดยใช้ Action SetProperty ซึ่งเป็นการสั่งให้กำหนดค่า Property ของ Control 

ทั้งนี้ Action ดังกล่าว เกิดขึ้นหลังจากเลือก Customer บน ComboBox แล้ว 
นั่นหมายถึง เราต้องใช้ Macro Action SetProperty ที่ Event Afterupdate ของ Combobox ค่ะ

การเรียกใช้ Index

จากรูปจะเห็นว่า การเรียกใช้ Index นั้น จะเป็นรูปแบบดังนี้ค่ะ
 

[ชื่อ Control].[column](Index)

 
ซึ่งเรากำหนดให้

1. TextBox ที่ ชือ ContactName แสดงค่า ComboBox ที่ Index0   นั่นหมายถึงแสดงข้อมูลจากฟิลด์ ContactName

2. TextBox ที่ ชือ CompanyName  แสดงค่า ComboBox ที่ Index1   นั่นหมายถึงแสดงข้อมูลจากฟิลด์ CompanyName

3. TextBox ที่ ชือ ShipAddress  แสดงค่า ComboBox ที่ Index2   นั่นหมายถึงแสดงข้อมูลจากฟิลด์ ShipAddress

ทดสอบการทำงานของ Macro โดยเปลี่ยนมุมมองมาที่ Form View ดังรูป

Text Box

ซึ่งในแต่ละ Text Box สามารถเปลี่ยนค่าได้ หากผู้ติดต่อหรือที่อยู่ที่จัดส่งไม่ตรงกับที่อยู่ในฐานข้อมูลค่ะ

ขั้นตอนที่ 3

สร้าง Button
ทั้งนี้สามารถใช้ Command Button Wizard  สั่งพิมพ์ Current Form ได้เลย ดังรูป

Command Button Wizard

แต่สิ่งที่ต้องระวัง คือ กรณีที่ Print Current Form นั้น จะ พิมพ์ในส่วนของ Form Header ด้วย ดังรูป

Header ของแบบฟอร์ม

ดังนั้น จะต้องไปกำหนด Property Display When จากที่ Default ไว้ เป็น Always 
ซึ่งจะแสดงขณะฟอร์มทำงานและแสดงเมื่อพิมพ์ เป็น Screen Only  เพื่อไม่ให้แสดงขณะพิมพ์ด้วย  

การตั้งแสดงหน้าจอของโหมด Display When

ทั้งนี้ หากใช้วิธีนี้ ต้องเลือกเครื่องพิมพ์ และ ขนาดที่ต้องพิมพ์เองทุกครั้งค่ะ

หน้าการตั้งค่าขนาดซองจดหมาย

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

เนื่องจากบทความนี้ จะเน้นที่ประโยชน์การใช้งาน index ของ Combobox  
บางส่วนของบทความนี้ จึงไม่ได้ขยายความอย่างละเอียด
อย่างไรต้องขออภัยไว้ก่อนค่ะ ขอบคุณมากค่ะที่ติดตาม