ตัวอย่างการนำค่าจาก Index ของ Combobox มาใช้งาน
ลองดูกรณีศึกษานี้กันค่ะ เนื่องจากว่า เราต้องส่งของให้ลูกค้า
ทั้งนี้ ที่อยู่ของลูกค้าในการจัดส่งอาจเปลี่ยนแปลงได้ไม่ตรงกับที่อยู่ในการจดทะเบียนบริษัทก็เป็นได้
ดังนั้น การออกแบบฟอร์มก็ควรจะยืดหยุ่น ให้เปลี่ยนที่อยู่ได้
ในขณะเดียวกันก็ยังมีค่าเริ่มต้นของที่อยู่ตามฐานข้อมูลในตาราง Customers ไว้ก่อน
ลองดูการทำงานของฟอร์มนี้กันค่ะ
ฟอร์มนี้ เป็นฟอร์มสำหรับพิมพ์ซองจดหมาย โดย
- เลือกรายการลูกค้าจาก ComboBox
- หลังจากนั้นจะมี ชื่อผู้ติดต่อ,ชื่อบริษัท และ ที่อยู่ แสดงบน TextBox ต่างๆ ทั้งนี้ ข้อมูลบน TextBox ยังสามารถเปลี่ยนแปลงได้ค่ะ
- กดปุ่มพิมพ์ เพื่อพิมพ์ Label ไว้แปะกล่องวัสดุ
ซึ่งมุมมอง Design ของฟอร์มเป็นดังนี้ค่ะ
ลองมาดูขั้นตอนการพัฒนาฟอร์มนี้กันค่ะ
ขั้นตอนแรก
กำหนด Rowsource ให้มีฟิลด์ต่างๆ ที่จะนำมาแสดงบน Textbox ให้เรียบร้อย ดังรูป
จากรูป วิธีการนับ Index ของ comboBox จะเริ่มนับจาก 0 ค่ะ
ขั้นตอนที่ 2
การนำค่าไปแสดงบน Textbox
หากเราต้องการให้สามารถเปลี่ยนแปลงค่าได้ เราจำเป็นต้องใช้ชุดคำสั่ง Macro Access ช่วย
โดยใช้ Action SetProperty ซึ่งเป็นการสั่งให้กำหนดค่า Property ของ Control
ทั้งนี้ Action ดังกล่าว เกิดขึ้นหลังจากเลือก Customer บน ComboBox แล้ว
นั่นหมายถึง เราต้องใช้ Macro Action SetProperty ที่ Event Afterupdate ของ Combobox ค่ะ
จากรูปจะเห็นว่า การเรียกใช้ 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 ดังรูป
ขั้นตอนที่ 3
สร้าง Button
ทั้งนี้สามารถใช้ Command Button Wizard สั่งพิมพ์ Current Form ได้เลย ดังรูป
แต่สิ่งที่ต้องระวัง คือ กรณีที่ Print Current Form นั้น จะ พิมพ์ในส่วนของ Form Header ด้วย ดังรูป
ดังนั้น จะต้องไปกำหนด Property Display When จากที่ Default ไว้ เป็น Always
ซึ่งจะแสดงขณะฟอร์มทำงาน และ แสดงเมื่อพิมพ์ เป็น Screen Only เพื่อไม่ให้แสดงขณะพิมพ์ด้วย
ทั้งนี้ หากใช้วิธีนี้ ต้องเลือกเครื่องพิมพ์ และ ขนาดที่ต้องพิมพ์เองทุกครั้งค่ะ
ซึ่งหากต้องการให้มีความอัตโนมัติยิ่งขึ้น จำเป็นต้องสร้าง Report พร้อมทั้งตั้งค่ากระดาษให้เรียบร้อย
แล้ว สั่งพิมพ์ Report แทนที่จะใช้คำสั่งพิมพ์ฟอร์มค่ะ
เนื่องจากบทความนี้ จะเน้นที่ประโยชน์การใช้งาน index ของ Combobox
บางส่วนของบทความนี้ จึงไม่ได้ขยายความอย่างละเอียด
อย่างไรต้องขออภัยไว้ก่อนค่ะ ขอบคุณมากค่ะที่ติดตาม