วันพฤหัสบดีที่ 15 มิถุนายน พ.ศ. 2560

Combobox กับฐานข้อมูล VB2010

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


หลังจากนั้นลองสร้างโปรแกรมเพื่อดึงข้อมูลมาใส่ไว้ใน Combobox ครับ เอาง่ายๆครับ คือให้ค่าที่จะแสดงเป็นชื่อสกุลนักเรียน  คือ st_fullname ส่วนค่าที่จะได้ออกมาตอนเลือกให้เป็น รหัสนักเรียนครับ st_code
ออกแบบหน้าตาโปรแกรม
  1 เราออกแบบโปรแกรมด้วยการใช้ Combobox ฺและ Textbox อย่างละ 1 ตัว



การเขียนโค้ดโปรแกรม
  1. ให้เขียนติดต่อฐานข้อมูลแบบที่เคยคุยกันมาแล้วครับ ตามนี้เลยครับ http://codevbeasy.blogspot.com/2017/06/vb2010-2.html
  2 . ที่ฟอร์มโหลดให้เขียนโค้ดนี้เข้าไปครับ

        ประกาศตัวแปรที่ต้องการใช้ติดต่อฐานข้อมูล


เขียนโค้ดเพื่อให้โปรแกรมเราสามารถเปิดฐานข้อมูลและเข้าใช้ได้

          
ฟังก์ชั่น Add_combo() นั้นเป็นการดึงข้อมูลจากฐานข้อมูลเข้ามาไว้ที่ Combobox โดยให้ข้อมูลที่แสดงเป็น ชื่อ-สกุล นักเรียน และค่าที่จะได้จากการเลือกเป็น รหัสนักเรียน

สังเกตุตรง Combobox1.ValueMenBer ตรงนี้คือ ค่าเวลาที่เลือกใช้คอนโทรลนี้ครับในที่นี้ เราเอารหัสนักเรียน หรือ st_code มาใช้ และ Combobox1.DisplayMember คือ ค่าที่จะแสดงให้ผู้ใช้เห็นเพื่อเลือกข้อมูล ในที่นี้เราใช้ ชื่อ-สกุล นักเรียนมาแสดง st_fullname

สำหรับส่วนของโค้ดที่จะใช้ในการเลือกข้อมูลเราจะเลือกจากเหตุการณ์ของ Combobox1 คือ SelectedIndexChanged 
กำหนดค่าให้กับ Textbox1.text= โดยดึงค่าจาก Combobox1 จากคุณสมบัติข้อมูลค่าที่ถูกเลือกให้เป็นชนิดข้อความ เขียนจริงจะได้แบบนี้ครับ
                              


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

            

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

โปรแกรมตั้งเวลา เข้าแถว เปิดเสียงหมดเวลา หมดคาบเรียน หรือชั่วโมงเรียน

สวัสดีครับในรอบ 2 ปี ผมหายไปตั้งแต่ปี 2560 ไม่ได้มาเขียน Blog เลย วันนี้กลับมา พร้อมกับโปรแกรมตัวนึงที่เขียนขึ้นเพื่อใช้งาน เล่านิดนึงครับ ผ...