การเขียนโปรแกรมจัดการฐานข้อมูลด้วยวีบีเอ
ระบบอินเตอร์เน็ต การสืบค้นสารสนเทศโดยใช้เทคโนโลยีเป็นเครื่่องมือ
อินเทอร์เน็ต คืออะไร
อินเทอร์เน็ต(Internet) คือ เครือข่ายนานาชาติ ที่เกิดจากเครือข่ายขนาดเล็กมากมาย รวมเป็นเครือข่ายเดียวทั้งโลก หรือเครือข่ายสื่อสาร ซึ่งเชื่อมโยงระหว่างคอมพิวเตอร์ทั้งหมด ที่ต้องการเข้ามาในเครือข่าย สำหรับคำว่า internet หากแยกศัพท์จะได้มา 2 คำ คือ คำว่า Inter และคำว่า net ซึ่ง Inter หมายถึงระหว่าง หรือท่ามกลาง และคำว่า Net มาจากคำว่า Network หรือเครือข่าย เมื่อนำควาหมายของทั้ง 2 คำมารวมกัน จึงแปลว่า การเชื่อมต่อกันระหว่างเครือข่ายIP (Internet protocal) Addressคอมพิวเตอร์ทุกเครื่องที่เชื่อมต่อกันใน internet ต้องมี IP ประจำเครื่อง ซึ่ง IP นี้มีผู้รับผิดชอบคือ IANA (Internet assigned number authority) ซึ่งเป็นหน่วยงานกลางที่ควบคุมดูแล IPV4 ทั่วโลก เป็น Public address ที่ไม่ซ้ำกันเลยในโลกใบนี้ การดูแลจะแยกออกไปตามภูมิภาคต่าง ๆ สำหรับทวีปเอเชียคือ (Asia pacific networkinformation center) แต่การขอ IP address ตรง ๆ จาก APNIC ดูจะไม่เหมาะนัก เพราะเครื่องคอมพิวเตอร์ต่าง ๆ เชื่อมต่อด้วย Router ซึ่งทำหน้าที่บอกเส้นทาง ถ้าท่านมีเครือข่ายของตนเองที่ต้องการเชื่อมต่ออินเทอร์เน็ต ก็ควรขอ IP address จาก ISP (Internet Service Provider) เพื่อขอเชื่อมต่อเครือข่ายผ่าน ISP และผู้ให้บริการก็จะคิดค่าใช้จ่ายในการเชื่อมต่อตามความเร็วที่ท่านต้องการ เรียกว่า Bandwidth เช่น 2 Mbps แต่ถ้าท่านอยู่ตามบ้าน และใช้สายโทรศัพท์พื้นฐาน ก็จะได้ความเร็วในปัจจุบันไม่เกิน 56 Kbps ซึ่งเป็น speed ของ MODEM ในปัจจุบัน IP address คือเลข 4 ชุด หรือ 4 Byte เช่น 203.158.197.2หรือ202.29.78.12 เป็นต้น แต่ถ้าเป็นสถาบันการศึกษาโดยทั่วไปจะได้ IP มา 1 Class C เพื่อแจกจ่ายให้กับ Host ในองค์กรได้ใช้ IP ประโยชน์ของอินเทอร์เน็ต
1 เป็นแหล่งข้อมูลที่ลึก และกว้าง เพราะข้อมูลถูกสร้างได้ง่าย แม้นักเรียน หรือผู้สูงอายุก็สร้างได้
2 เป็นแหล่งรับ หรือส่งข่าวสาร ได้หลายรูปแบบ เช่น mail, board, icq, irc, sms หรือ web เป็นต้น
3 เป็นแหล่งให้ความบันเทิง เช่น เกม ภาพยนตร์ ข่าว หรือห้องสะสมภาพ เป็นต้น
4 เป็นช่องทางสำหรับทำธุรกิจ สะดวกทั้งผู้ซื้อ และผู้ขาย เช่น e-commerce หรือบริการโอนเงิน เป็นต้น
5 ใช้แทน หรือเสริมสื่อที่ใช้ติดต่อสื่อสาร ในปัจจุบัน โดยเสียค่าใช้จ่าย และเวลาที่ลดลง
6 เป็นช่องทางสำหรับประชาสัมพันธ์สินค้า บริการ หรือองค์กร
ประเภทของเครื่องมือสืบค้น
เครื่องมือสืบค้นสารสนเทศด้วยมือ หมายถึง เครื่องมือสืบค้นที่บันทึกรายละเอียดของรายการสารสนเทศไว้ในรูปแบบที่ผู้ใช้ต้องสืบค้นด้วยมือ ส่วนใหญ่มักบันทึกในรูปแบบสิ่งตีพิมพ์ เช่น บัตรรายการ (Card catalog) หรือมีลักษณะเป็นเล่ม (Book catalog) บัตรรายการ (Catalog card) หมายถึง บัตรที่แจ้งรายละเอียดต่าง ๆ เกี่ยวกับหนังสือ สิ่งพิมพ์อื่นๆ ตลอดจนโสตทัศนวัสดุที่มีในห้องสมุด เพื่อให้ผู้ใช้ทราบข้อมูลต่าง ๆ เช่น ชื่อผู้แต่ง ชื่อเรื่อง ครั้งที่พิมพ์ สถานที่พิมพ์ ผู้จัดพิมพ์ ปีพิมพ์ เป็นต้น นอกจากนี้ยังมีเลขเรียกหนังสือ (Call number) บอกตำแหน่งที่เก็บเพื่อให้หาวัสดุนั้นๆ ได้ถูกที่โดยไม่เสียเวลา บัตรรายการมีขนาดมาตรฐาน คือ 3” X 5” ด้านล่างเจาะรูสำหรับให้แกนเหล็กร้อยบัตรไว้กับลิ้นชักของตู้บัตรรายการเพื่อไม่ให้บัตรสลับที่หรือถูกนำออกจากลิ้นชัก
ประโยชน์ของบัตรรายการ
1. ช่วยให้ค้นหาหนังสือที่ต้องการ เพียงผู้ใช้ทราบชื่อผู้แต่ง ชื่อหนังสือ ชื่อหัวเรื่อง หรือทราบชื่อผู้แต่งร่วม ผู้แปล ผู้รวบรวม ชื่อชุด หรือข้อมูลใดๆ ที่ห้องสมุดพิมพ์ไว้บรรทัดแรกของบัตร ก็สามารถใช้ บัตรรายการประเภทต่างๆที่ห้องสมุดจัดทำขึ้น ได้แก่ บัตรผู้แต่ง บัตรชื่อเรื่อง บัตรหัวเรื่อง หรือบัตรอื่น ๆ ตรวจค้นว่าห้องสมุดมีหนังสือเล่มที่ต้องการหรือไม่
2. บอกตำแหน่งที่อยู่ของหนังสือแต่ละเล่มในห้องสมุด เลขเรียกหนังสือในบัตรรายการจะช่วยให้ผู้ใช้ทราบว่าหนังสือเล่มที่ต้องการอยู่ที่ใดของห้องสมุด
3. เป็นตัวแทนของหนังสือแต่ละเล่มที่มีอยู่ในห้องสมุด รายการต่าง ๆ ในบัตรรายการ ได้แก่ ชื่อผู้แต่ง ชื่อเรื่อง ครั้งที่พิมพ์ พิมพ์ลักษณ์ บรรณลักษณ์ ชื่อชุด และหมายเหตุ รายการเหล่านี้จะช่วยให้ผู้ใช้ทราบรายละเอียดก่อนได้เห็นตัวเล่มจริง ทำให้สามารถเลือกหนังสือได้ตรงกับความต้องการ
4. รายละเอียดของหนังสือที่บันทึกในบัตรรายการสามารถนำไปรวบรวมเขียนบรรณานุกรมได้ หนังสือบางเล่มส่วนหน้าปกในอาจฉีกขาดหรือหลุดหายไปบางส่วนสามารถดูรายละเอียดในบัตรรายการแทนได้
5. ผู้ที่ต้องการค้นคว้าผลงานของผู้แต่งคนเดียวกัน จะสะดวกอย่างยิ่งถ้าดูจากบัตรผู้แต่ง ทำให้ทราบนามจริงของผู้แต่งที่ใช้นามแฝงด้วย
6. ผู้ที่ต้องการค้นเรื่องใดเรื่องหนึ่ง สามารถใช้บัตรหัวเรื่อง ซึ่งจะบอกชื่อผู้แต่ง ชื่อเรื่อง และอื่นๆ ที่บันทึกรายการสำคัญของหนังสือไว้ด้วย จะได้หนังสือจำนวนหลายเล่มในเรื่องที่ต้องการ พร้อมทั้งโยงเพิ่มเติมไปยังหัวเรื่องอื่นที่เกี่ยวข้องให้ด้วย
7. บัตรโยงนำผู้ใช้จากชื่อบางชื่อ หรือหัวเรื่องบางหัวเรื่องไปยังชื่อหรือหัวเรื่องที่ถูกต้อง ทำให้ ผู้ใช้สามารถค้นพบสารสนเทศที่ต้องการได้ง่าย
ความรู้เบื้องต้นเกี่ยวกับ VBA
VBA สำหรับ Excel คืออะไร?
Visual Basic for Applications (VBA) คือการใช้ภาษา Visual Basic ในการเขียนโค้ดควบคุมโปรแกรมประยุกต์อื่น ๆ ครับโปรแกรมประยุกต์ที่เรากำลังจะกล่าวถึงนี้ ก็คือโปรแกรม MS Office Excel นั่นเองตามหัวข้อนั้นแหล่ะครับจุดประสงค์ที่ผมเริ่มเขียน เกี่ยวกับเรื่องของ VBA สำหรับ Excel นั้น เพราะอยากเก็บไว้ทบทวนความรู้ครับ เพราะมีบ่อยครั้งเลยที่ต้องใช้ VBA สำหรับ Excel เวลาจะใช้ที ต้องมาเปิดเว็บทบทวนกันที หลาย ๆ เว็บ เสียเวลามากผมเลยคิดว่ารวบรวมความรู้เท่าที่จำเป็นต้องใช้ ไว้ที่นี่ที่เดียวดีกว่าจะได้เสียเวลาทบทวนน้อยหน่อยครับ ซึ่งประโยชน์ของ VBA สำหรับ MS Office Excel นั้นผมขอยกตัวอย่างเรื่องงานที่ผมใช้ บ่อย ๆ นะครับ เช่นบ่อยครั้งครับ จะมีกรณีที่ ลูกค้ามีข้อมูลดิบที่ Export ออกมาจากระบบงานอื่น เป็นไฟล์ Excel แต่เราต้องนำมาจัดข้อมูลให้อยู่ในรูปแบบที่เราต้องการก่อนที่จะนำข้อมูลนั้น มาเป็นข้อมูลใส่เข้าไปในในโปรแกรม MS Office Access ที่ผมเขียนไว้อีกทีหนึ่งแบบนี้เราไม่รู้เลยครับว่า ข้อมูลนั้นจะมีกี่แถว และจะให้ user เป็นคนนั่งจัดเรียกข้อมูลให้อยู่ในรูปแบบที่ต้องการก่อนนั้นจะเกิดข้อผิดพลาดได้ง่ายครับสูตรปรกติไม่สามารถทำได้แน่นอนเราต้องเขียนโปรแกรมให้ลึกลงไปยิ่งกว่านั้นครับ ซึ่งจุดนี้ VBA สามารถทำได้VBA นั้นมีอยู่ในชุดของโปรแกรม MS Office ทุกตัวอยู่แล้ว ถ้าเรารู้หลักการเขียน VBA สำหรับ Excel อย่างหนึ่งแล้ว เราสามารถต่อยอดความรู้ไปเขียน VBA สำหรับ Access ได้ไม่ยากครับ เพราะรูปแบบภาษาเหมือนกัน ต่างกันที่ฟังก์ชั่นเฉพาะของโปรแกรมเฉย ๆ ครับ
ตัวแปร
ตัวแปรต้น (หรืออีกชื่อคือ ตัวแปรอิสระ) คือตัวแปรที่กำหนดขึ้นเพื่อทดสอบสมมติฐาน เป็นตัวแปรที่เราเปลี่ยนไปเพื่อจะดูผลที่ตามมา (พูดง่ายคือสิ่งที่ต้องทำให้ต่างกันครับ)
ตัวแปรตาม คือ ตัวแปรที่เปลี่ยนไปตามตัวแปรต้น พูดง่ายๆก็คือผลของตัวแปรต้นนั่นเองครับ เป็นตัวแปรที่เราต้องเก็บค่า บันทึกผล (สิ่งที่เราต้องตามผล)
ตัวแปรควบคุม คือ ตัวแปรที่ส่งผลต่อการทดลอง อาจทำให้การทดลองของเราคลาดเคลื่อน จึงต้องควบคุมเอาไว้ (สิ่งที่ต้องทำให้เหมือนกัน)
การใช้งาน object
1. Attribute (object data) – เป็นส่วนที่ใช้ในการเก็บข้อมูลต่างๆของ object เช่น รถ มี attribute คือ ยี่ห้อรถ,ชื่อรุ่น,สี เป็นต้น
2. Method (object behavior) – เป็นสิ่งที่ object นั้นสามารถทำได้ เช่น รถ สามารถ เพิ่มความเร็ว,ชะลอความเร็ว,หยุด,เปลี่ยนเกียร์ เป็นต้น
หลักการสำคัญของ OOP
1. Data hiding คือ ปกปิด source code ส่วนหนึ่งไว้ไม่ให้ผู้ที่ไม่เกี่ยวข้องสามารถเข้าถึง หรือแก้ไขข้อมูลได้โดยตรง ซึ่งจะต้องบอกคำสงวนในการควมคุมการเข้าถึงข้อมูล
- Public สามารถเข้าถึงได้จากทุกๆที่ของโปรแกรม
- Private ไม่สามารถเข้าถึงได้จากภายนอก class ส่วนมากจะใช้กับ attribute ของ class
2. encapsulation นั่นคือ attribute ต่างๆภายใน class นั้นจะไม่สามารถถูกเปลี่ยนแปลงค่าได้จากภายนอก class การเปลี่ยนแปลงค่าของ attribute จะสามารถทำได้จากการเรียก method ภายใน class เท่านั้น ซึงคือการกำหนดด้วยคำสงวน private นั่นเอง
3. inheritance & reusable คือการ นำ source code ส่วนที่มีการใช้ซ้ำๆนำกลับมาใช้ใหม่การนำกลับมา
การอ้างอิงถึง From หรือ Report
การอ้างอิงเอกสารในงานเขียนทางวิชาการ งานค้นคว้าวิจัย การเขียนรายงาน ตลอดจนการเขียนวิทยานิพนธ์ และการค้นคว้าแบบอิสระของนักศึกษาในระดับบัณฑิตศึกษา มักมีการใช้เอกสารประเภทต่าง ๆ ประกอบการเรียบเรียง รวบรวมประเด็น สรุปเรื่องราว ตัดต่อหรือคัดลอกข้อความจากเอกสารเหล่านั้นมาเขียนไว้ในงานเขียนของตน พร้อมทั้งแสดงแหล่งที่มาของข้อมูลไว้ด้วย ซึ่งเรียกว่า “การอ้างอิง (Citation)” ส่วนรายชื่อเอกสารต่างๆ ที่ผู้เขียนนำมาเขียนอ้างอิงไว้ในเนื้อหาตอนใดตอนหนึ่ง และมีการรวบรวมไว้ในตอนท้ายของงานเขียน เรียกว่า “รายการอ้างอิง (References)” แต่ถ้าเป็นรายชื่อเอกสารที่ผู้เขียนใช้ประกอบการศึกษาค้นคว้า แล้วนำมาเรียบเรียงเป็นข้อเขียน โดยไม่ปรากฏในตอนใดของงานเขียน หรือไม่มีการอ้างอิงในเนื้อหาเรียกว่า “บรรณานุกรม (Bibliography)” โดยทั่วไปรูปแบบการลงรายการอ้างอิงจะจำแนกตามประเภทของเอกสาร เช่น การอ้างอิงแหล่งข้อมูลที่ปรากฏในหนังสือ บทความในหนังสือ วารสาร หนังสือพิมพ์ วิทยานิพนธ์ จุลสาร การสัมภาษณ์ สิ่งพิมพ์อิเล็กทรอนิกส์ และข้อมูลจากอินเทอร์เน็ต เป็นต้น ซึ่งการอ้างอิงเอกสารและแหล่งต่างๆ ในงานเขียนนั้น สามารถเลือกทำได้มากกว่า 1 รูปแบบ ในแต่ละรูปแบบจะมีข้อดีข้อเสียและความสะดวกในการลงรายการแตกต่างกันไป และช่วยให้ผู้อ่านทราบถึงแหล่งข้อมูลหรือเอกสารที่ถูกอ้างถึงในขณะอ่านงานเขียน อีกทั้งยังช่วยให้การหาเอกสารนั้นได้พบ จากรายการอ้างอิงที่รวบรวมไว้ในตอนท้ายของงานเขียน และในการแนะนำรูปแบบการเขียน รายการอ้างอิงในบทความฉบับนี้ ผู้เขียนขอแนะนำวิธีการอ้างอิงแบบแทรกในเนื้อหา โดยเฉพาะ อย่างยิ่งระบบนาม - ปี (Name - Year System) ซึ่งเป็นวิธีที่ง่ายต่อการทำความเข้าใจ และสะดวกในการติดตามเอกสารจากรายการอ้างอิงอย่างมีหลักการ ดังมีรายละเอียดในการลงรายการ ดังนี้ รูปแบบการอ้างอิงแบบแทรกในเนื้อหา การอ้างอิงเอกสารแบบแทรกในเนื้อหา เป็นการระบุนามผู้แต่ง และปีที่พิมพ์ของเอกสารไว้ในเนื้อความหรือเนื้อเรื่อง อาจจะระบุไว้ ตอนต้น หรือ ตอนท้าย ของข้อความ มีรายละเอียดของการลงรายการ
การสร้าง Prodedure
การเขียน Stored Procedure จะจำเป็นมากในการพัฒนาระบบขนาดใหญ่ ที่มีการจัดเก็บข้อมูลและประมวลผลจำนวนมาก ๆ เพราะการเขียน Query ในปกติ ที่มีการติดต่อกับข้อมูลหลาย ๆ ครั้ง เราจะต้อง Select แล้วใช้โปรแกรมอ่านค่า เมื่ออ่านได้ค่าแล้วค่อยส่งไปประมวลผลที่ Database ซ้ำ ๆ ซึ่งจะเป็นการทำงานซ้ำซ้อน มีการรับส่งระหว่าง Application กับ Database เป็นสิบหรือหลายร้อยครั้ง ซึ่งผลที่ตามมาคือ Performanceของโปรแกรมจะทำงานช้ามาก ทางเลือกในการแก้ปํยหานี้ก็คือ เราใช้การทำงานซ้ำซ้อนทั้งหมดนี้ที่ Database แทน โดยเราเพียงส่งค่า Parameters ที่จำเป็นต้องใช้ จากนั้นบน Database ก็จะนำค่า Parameters ที่ส่งไปนั้น ทำงานตามคำสั่งต่าง ๆ บน Stored Procedure ที่เราเขียนขึ้น เมื่อได้ค่าที่ต้องการค่อยส่งค่า Result กลับมายังโปรแกรม วิธีนี้จะเป็นการเพิ่มประสิทธิภาพการทำงานของโปรแกรมให้ทำงานเร็วขึ้น และลด Traffic ระหว่าง Database กับ Application ได้สูงมาก
ข้อดีการใช้ Stored Procedure
2 เป็นแหล่งรับ หรือส่งข่าวสาร ได้หลายรูปแบบ เช่น mail, board, icq, irc, sms หรือ web เป็นต้น
3 เป็นแหล่งให้ความบันเทิง เช่น เกม ภาพยนตร์ ข่าว หรือห้องสะสมภาพ เป็นต้น
4 เป็นช่องทางสำหรับทำธุรกิจ สะดวกทั้งผู้ซื้อ และผู้ขาย เช่น e-commerce หรือบริการโอนเงิน เป็นต้น
5 ใช้แทน หรือเสริมสื่อที่ใช้ติดต่อสื่อสาร ในปัจจุบัน โดยเสียค่าใช้จ่าย และเวลาที่ลดลง
6 เป็นช่องทางสำหรับประชาสัมพันธ์สินค้า บริการ หรือองค์กร
ประเภทของเครื่องมือสืบค้น
เครื่องมือสืบค้นสารสนเทศด้วยมือ หมายถึง เครื่องมือสืบค้นที่บันทึกรายละเอียดของรายการสารสนเทศไว้ในรูปแบบที่ผู้ใช้ต้องสืบค้นด้วยมือ ส่วนใหญ่มักบันทึกในรูปแบบสิ่งตีพิมพ์ เช่น บัตรรายการ (Card catalog) หรือมีลักษณะเป็นเล่ม (Book catalog) บัตรรายการ (Catalog card) หมายถึง บัตรที่แจ้งรายละเอียดต่าง ๆ เกี่ยวกับหนังสือ สิ่งพิมพ์อื่นๆ ตลอดจนโสตทัศนวัสดุที่มีในห้องสมุด เพื่อให้ผู้ใช้ทราบข้อมูลต่าง ๆ เช่น ชื่อผู้แต่ง ชื่อเรื่อง ครั้งที่พิมพ์ สถานที่พิมพ์ ผู้จัดพิมพ์ ปีพิมพ์ เป็นต้น นอกจากนี้ยังมีเลขเรียกหนังสือ (Call number) บอกตำแหน่งที่เก็บเพื่อให้หาวัสดุนั้นๆ ได้ถูกที่โดยไม่เสียเวลา บัตรรายการมีขนาดมาตรฐาน คือ 3” X 5” ด้านล่างเจาะรูสำหรับให้แกนเหล็กร้อยบัตรไว้กับลิ้นชักของตู้บัตรรายการเพื่อไม่ให้บัตรสลับที่หรือถูกนำออกจากลิ้นชัก
ประโยชน์ของบัตรรายการ
1. ช่วยให้ค้นหาหนังสือที่ต้องการ เพียงผู้ใช้ทราบชื่อผู้แต่ง ชื่อหนังสือ ชื่อหัวเรื่อง หรือทราบชื่อผู้แต่งร่วม ผู้แปล ผู้รวบรวม ชื่อชุด หรือข้อมูลใดๆ ที่ห้องสมุดพิมพ์ไว้บรรทัดแรกของบัตร ก็สามารถใช้ บัตรรายการประเภทต่างๆที่ห้องสมุดจัดทำขึ้น ได้แก่ บัตรผู้แต่ง บัตรชื่อเรื่อง บัตรหัวเรื่อง หรือบัตรอื่น ๆ ตรวจค้นว่าห้องสมุดมีหนังสือเล่มที่ต้องการหรือไม่
2. บอกตำแหน่งที่อยู่ของหนังสือแต่ละเล่มในห้องสมุด เลขเรียกหนังสือในบัตรรายการจะช่วยให้ผู้ใช้ทราบว่าหนังสือเล่มที่ต้องการอยู่ที่ใดของห้องสมุด
3. เป็นตัวแทนของหนังสือแต่ละเล่มที่มีอยู่ในห้องสมุด รายการต่าง ๆ ในบัตรรายการ ได้แก่ ชื่อผู้แต่ง ชื่อเรื่อง ครั้งที่พิมพ์ พิมพ์ลักษณ์ บรรณลักษณ์ ชื่อชุด และหมายเหตุ รายการเหล่านี้จะช่วยให้ผู้ใช้ทราบรายละเอียดก่อนได้เห็นตัวเล่มจริง ทำให้สามารถเลือกหนังสือได้ตรงกับความต้องการ
4. รายละเอียดของหนังสือที่บันทึกในบัตรรายการสามารถนำไปรวบรวมเขียนบรรณานุกรมได้ หนังสือบางเล่มส่วนหน้าปกในอาจฉีกขาดหรือหลุดหายไปบางส่วนสามารถดูรายละเอียดในบัตรรายการแทนได้
5. ผู้ที่ต้องการค้นคว้าผลงานของผู้แต่งคนเดียวกัน จะสะดวกอย่างยิ่งถ้าดูจากบัตรผู้แต่ง ทำให้ทราบนามจริงของผู้แต่งที่ใช้นามแฝงด้วย
6. ผู้ที่ต้องการค้นเรื่องใดเรื่องหนึ่ง สามารถใช้บัตรหัวเรื่อง ซึ่งจะบอกชื่อผู้แต่ง ชื่อเรื่อง และอื่นๆ ที่บันทึกรายการสำคัญของหนังสือไว้ด้วย จะได้หนังสือจำนวนหลายเล่มในเรื่องที่ต้องการ พร้อมทั้งโยงเพิ่มเติมไปยังหัวเรื่องอื่นที่เกี่ยวข้องให้ด้วย
7. บัตรโยงนำผู้ใช้จากชื่อบางชื่อ หรือหัวเรื่องบางหัวเรื่องไปยังชื่อหรือหัวเรื่องที่ถูกต้อง ทำให้ ผู้ใช้สามารถค้นพบสารสนเทศที่ต้องการได้ง่าย
ความรู้เบื้องต้นเกี่ยวกับ VBA
VBA สำหรับ Excel คืออะไร?
Visual Basic for Applications (VBA) คือการใช้ภาษา Visual Basic ในการเขียนโค้ดควบคุมโปรแกรมประยุกต์อื่น ๆ ครับโปรแกรมประยุกต์ที่เรากำลังจะกล่าวถึงนี้ ก็คือโปรแกรม MS Office Excel นั่นเองตามหัวข้อนั้นแหล่ะครับจุดประสงค์ที่ผมเริ่มเขียน เกี่ยวกับเรื่องของ VBA สำหรับ Excel นั้น เพราะอยากเก็บไว้ทบทวนความรู้ครับ เพราะมีบ่อยครั้งเลยที่ต้องใช้ VBA สำหรับ Excel เวลาจะใช้ที ต้องมาเปิดเว็บทบทวนกันที หลาย ๆ เว็บ เสียเวลามากผมเลยคิดว่ารวบรวมความรู้เท่าที่จำเป็นต้องใช้ ไว้ที่นี่ที่เดียวดีกว่าจะได้เสียเวลาทบทวนน้อยหน่อยครับ ซึ่งประโยชน์ของ VBA สำหรับ MS Office Excel นั้นผมขอยกตัวอย่างเรื่องงานที่ผมใช้ บ่อย ๆ นะครับ เช่นบ่อยครั้งครับ จะมีกรณีที่ ลูกค้ามีข้อมูลดิบที่ Export ออกมาจากระบบงานอื่น เป็นไฟล์ Excel แต่เราต้องนำมาจัดข้อมูลให้อยู่ในรูปแบบที่เราต้องการก่อนที่จะนำข้อมูลนั้น มาเป็นข้อมูลใส่เข้าไปในในโปรแกรม MS Office Access ที่ผมเขียนไว้อีกทีหนึ่งแบบนี้เราไม่รู้เลยครับว่า ข้อมูลนั้นจะมีกี่แถว และจะให้ user เป็นคนนั่งจัดเรียกข้อมูลให้อยู่ในรูปแบบที่ต้องการก่อนนั้นจะเกิดข้อผิดพลาดได้ง่ายครับสูตรปรกติไม่สามารถทำได้แน่นอนเราต้องเขียนโปรแกรมให้ลึกลงไปยิ่งกว่านั้นครับ ซึ่งจุดนี้ VBA สามารถทำได้VBA นั้นมีอยู่ในชุดของโปรแกรม MS Office ทุกตัวอยู่แล้ว ถ้าเรารู้หลักการเขียน VBA สำหรับ Excel อย่างหนึ่งแล้ว เราสามารถต่อยอดความรู้ไปเขียน VBA สำหรับ Access ได้ไม่ยากครับ เพราะรูปแบบภาษาเหมือนกัน ต่างกันที่ฟังก์ชั่นเฉพาะของโปรแกรมเฉย ๆ ครับ
ตัวแปร
ตัวแปรต้น (หรืออีกชื่อคือ ตัวแปรอิสระ) คือตัวแปรที่กำหนดขึ้นเพื่อทดสอบสมมติฐาน เป็นตัวแปรที่เราเปลี่ยนไปเพื่อจะดูผลที่ตามมา (พูดง่ายคือสิ่งที่ต้องทำให้ต่างกันครับ)
ตัวแปรตาม คือ ตัวแปรที่เปลี่ยนไปตามตัวแปรต้น พูดง่ายๆก็คือผลของตัวแปรต้นนั่นเองครับ เป็นตัวแปรที่เราต้องเก็บค่า บันทึกผล (สิ่งที่เราต้องตามผล)
ตัวแปรควบคุม คือ ตัวแปรที่ส่งผลต่อการทดลอง อาจทำให้การทดลองของเราคลาดเคลื่อน จึงต้องควบคุมเอาไว้ (สิ่งที่ต้องทำให้เหมือนกัน)
การใช้งาน object
1. Attribute (object data) – เป็นส่วนที่ใช้ในการเก็บข้อมูลต่างๆของ object เช่น รถ มี attribute คือ ยี่ห้อรถ,ชื่อรุ่น,สี เป็นต้น
2. Method (object behavior) – เป็นสิ่งที่ object นั้นสามารถทำได้ เช่น รถ สามารถ เพิ่มความเร็ว,ชะลอความเร็ว,หยุด,เปลี่ยนเกียร์ เป็นต้น
หลักการสำคัญของ OOP
1. Data hiding คือ ปกปิด source code ส่วนหนึ่งไว้ไม่ให้ผู้ที่ไม่เกี่ยวข้องสามารถเข้าถึง หรือแก้ไขข้อมูลได้โดยตรง ซึ่งจะต้องบอกคำสงวนในการควมคุมการเข้าถึงข้อมูล
- Public สามารถเข้าถึงได้จากทุกๆที่ของโปรแกรม
- Private ไม่สามารถเข้าถึงได้จากภายนอก class ส่วนมากจะใช้กับ attribute ของ class
2. encapsulation นั่นคือ attribute ต่างๆภายใน class นั้นจะไม่สามารถถูกเปลี่ยนแปลงค่าได้จากภายนอก class การเปลี่ยนแปลงค่าของ attribute จะสามารถทำได้จากการเรียก method ภายใน class เท่านั้น ซึงคือการกำหนดด้วยคำสงวน private นั่นเอง
3. inheritance & reusable คือการ นำ source code ส่วนที่มีการใช้ซ้ำๆนำกลับมาใช้ใหม่การนำกลับมา
การอ้างอิงถึง From หรือ Report
การอ้างอิงเอกสารในงานเขียนทางวิชาการ งานค้นคว้าวิจัย การเขียนรายงาน ตลอดจนการเขียนวิทยานิพนธ์ และการค้นคว้าแบบอิสระของนักศึกษาในระดับบัณฑิตศึกษา มักมีการใช้เอกสารประเภทต่าง ๆ ประกอบการเรียบเรียง รวบรวมประเด็น สรุปเรื่องราว ตัดต่อหรือคัดลอกข้อความจากเอกสารเหล่านั้นมาเขียนไว้ในงานเขียนของตน พร้อมทั้งแสดงแหล่งที่มาของข้อมูลไว้ด้วย ซึ่งเรียกว่า “การอ้างอิง (Citation)” ส่วนรายชื่อเอกสารต่างๆ ที่ผู้เขียนนำมาเขียนอ้างอิงไว้ในเนื้อหาตอนใดตอนหนึ่ง และมีการรวบรวมไว้ในตอนท้ายของงานเขียน เรียกว่า “รายการอ้างอิง (References)” แต่ถ้าเป็นรายชื่อเอกสารที่ผู้เขียนใช้ประกอบการศึกษาค้นคว้า แล้วนำมาเรียบเรียงเป็นข้อเขียน โดยไม่ปรากฏในตอนใดของงานเขียน หรือไม่มีการอ้างอิงในเนื้อหาเรียกว่า “บรรณานุกรม (Bibliography)” โดยทั่วไปรูปแบบการลงรายการอ้างอิงจะจำแนกตามประเภทของเอกสาร เช่น การอ้างอิงแหล่งข้อมูลที่ปรากฏในหนังสือ บทความในหนังสือ วารสาร หนังสือพิมพ์ วิทยานิพนธ์ จุลสาร การสัมภาษณ์ สิ่งพิมพ์อิเล็กทรอนิกส์ และข้อมูลจากอินเทอร์เน็ต เป็นต้น ซึ่งการอ้างอิงเอกสารและแหล่งต่างๆ ในงานเขียนนั้น สามารถเลือกทำได้มากกว่า 1 รูปแบบ ในแต่ละรูปแบบจะมีข้อดีข้อเสียและความสะดวกในการลงรายการแตกต่างกันไป และช่วยให้ผู้อ่านทราบถึงแหล่งข้อมูลหรือเอกสารที่ถูกอ้างถึงในขณะอ่านงานเขียน อีกทั้งยังช่วยให้การหาเอกสารนั้นได้พบ จากรายการอ้างอิงที่รวบรวมไว้ในตอนท้ายของงานเขียน และในการแนะนำรูปแบบการเขียน รายการอ้างอิงในบทความฉบับนี้ ผู้เขียนขอแนะนำวิธีการอ้างอิงแบบแทรกในเนื้อหา โดยเฉพาะ อย่างยิ่งระบบนาม - ปี (Name - Year System) ซึ่งเป็นวิธีที่ง่ายต่อการทำความเข้าใจ และสะดวกในการติดตามเอกสารจากรายการอ้างอิงอย่างมีหลักการ ดังมีรายละเอียดในการลงรายการ ดังนี้ รูปแบบการอ้างอิงแบบแทรกในเนื้อหา การอ้างอิงเอกสารแบบแทรกในเนื้อหา เป็นการระบุนามผู้แต่ง และปีที่พิมพ์ของเอกสารไว้ในเนื้อความหรือเนื้อเรื่อง อาจจะระบุไว้ ตอนต้น หรือ ตอนท้าย ของข้อความ มีรายละเอียดของการลงรายการ
การสร้าง Prodedure
การเขียน Stored Procedure จะจำเป็นมากในการพัฒนาระบบขนาดใหญ่ ที่มีการจัดเก็บข้อมูลและประมวลผลจำนวนมาก ๆ เพราะการเขียน Query ในปกติ ที่มีการติดต่อกับข้อมูลหลาย ๆ ครั้ง เราจะต้อง Select แล้วใช้โปรแกรมอ่านค่า เมื่ออ่านได้ค่าแล้วค่อยส่งไปประมวลผลที่ Database ซ้ำ ๆ ซึ่งจะเป็นการทำงานซ้ำซ้อน มีการรับส่งระหว่าง Application กับ Database เป็นสิบหรือหลายร้อยครั้ง ซึ่งผลที่ตามมาคือ Performanceของโปรแกรมจะทำงานช้ามาก ทางเลือกในการแก้ปํยหานี้ก็คือ เราใช้การทำงานซ้ำซ้อนทั้งหมดนี้ที่ Database แทน โดยเราเพียงส่งค่า Parameters ที่จำเป็นต้องใช้ จากนั้นบน Database ก็จะนำค่า Parameters ที่ส่งไปนั้น ทำงานตามคำสั่งต่าง ๆ บน Stored Procedure ที่เราเขียนขึ้น เมื่อได้ค่าที่ต้องการค่อยส่งค่า Result กลับมายังโปรแกรม วิธีนี้จะเป็นการเพิ่มประสิทธิภาพการทำงานของโปรแกรมให้ทำงานเร็วขึ้น และลด Traffic ระหว่าง Database กับ Application ได้สูงมาก
ข้อดีการใช้ Stored Procedure
Syntax เขียนง่าย เข้าใจง่าย และในปัจจุบันมี Tools ที่ช่วยให้การ Debug ง่ายมาก
เพิ่มประสิทธิภาพการทำงานการ Query Database ได้อย่างดีเยี่ยม ลดภาระการทำงานของ Application
ลด Traffic ของ Network หรือระหว่าง Database กับ Application
การพัฒนาค่อนข้างจะเป็นระบบ แยกระหว่าง Application Logic กับ Database Logic ได้ชัดเจน เช่น ถ้าต้องการแก้ไข Logic ของ Database อาจจะเพียงแก้ไขที่ Stored Procedure เท่านั้น
ข้อเสียการใช้ Stored Procedure
การเขียน Stored จะภูกกับ Database นั้น ๆ เมื่อเปลี่ยน Database ไปใช้ตัวอื่น จะต้องเขียน Stored ใหม่ทั้งหมด
Syntax ของการเขียน Stored Procedure จะไม่เหมือนกัน
เมื่อนำไปใช้บน Production Server การ Debug ตรวจสอบหาข้อผิดพลาดทำได้ยากพอสมควร
ประเภทของ Procedure ที่ควรทราบ
กระบวนการทำงานหรือโพรซีเยอร์ หมายถึง ขั้นตอนที่ผู้ใช้จะต้องทำตาม เพื่อให้ได้งานเฉพาะอย่างจากคอมพิวเตอร์ซึ่งผู้ใช้คอมพิวเตอร์ทุกคนต้องรู้การทำงานพื้นฐานของเครื่องคอมพิวเตอร์ เพื่อที่จะสามารถใช้งานได้อย่างถูกต้อง ตัวอย่างเช่น การใช้เครื่อง ฝาก-ถอนเงินอัตโนมัติ ถ้าต้องการถอนเงินจะต้องผ่านกระบวนการต่าง ๆ ดังนี้จอภาพแสดงข้อความเตรียมพร้อมที่จะทำงานสอดบัตร และพิมพ์รหัสผู้ใช้
เลือกรายการ
ใส่จำนวนเงินที่ต้องการ
รับเงิน
รับใบบันทึกรายการ และบัตร
การใช้คอมพิวเตอร์ปฏิบัติงานในส่วนต่าง ๆ นั้นมักจะมีขั้นตอนที่สลับซับซ้อน และเกี่ยวข้องกับช่วงเวลาต่าง ๆ ในการปฏิบัติงานด้วย จึงต้องมีคู่มือการปฏิบัติงานที่ชัดเจน เช่น คู่มือสำหรับผู้ควบคุมเครื่อง (Operation Manual) คู่มือสำหรับผู้ใช้ (User Manual) เป็นต้น
1 หน่วยรับข้อมูลเข้า (Input Unit)
หน่วยรับข้อมูลเข้า เป็นหน่วยที่ทําหน้าที่รับข้อมูล หรือคําสั่งเข้าสู่คอมพิวเตอร์เพื่อให้คอมพิวเตอร์นําข้อมูล หรือคําสั่งดังกล่าวไปประมวลผลกลางต่อไป ตัวอย่างของอุปกรณ์ที่จัดอยู่ในหน่วยรับข้อมูลเข้าได้แก่
-แป้นพิมพ์ (Keyboard)
-เมาส์ (Mouse)
-ไมโครโฟน (Microphone)
-แสกนเนอร์ (Scanner)
-กล้องดิจิตอล
-ตัวอย่างของหน่วยรับข้อมูลเข้าแสดงในรูป
2 หน่วยประมวลผล (Central Process Unit)
หน่วยประมวลผลกลาง เป็นหน่วยที่สําคัญที่สุด เปรียบได้กับสมองของคอมพิวเตอร์มีหน้าที่ประมวลผลของมูล หรือคําสั่งต่าง ๆ และมีหน้าที่ควบคุมระบบต่าง ๆ ของคอมพิวเตอร์ ให้ทุกหน่วยทํางานสอดคล้องกัน ซึ่งหน่วยประมวลผลการจะประกอบด้วยหน่วยย่อย ๆ ดังต่อไปนี้
หน่วยความจํา (Memory Unit)
รีจิสเตอร์ (Register) คือ หน่วยความจําที่อยู่ภายใน CPU ทําหน้าที่เก็บข้อมูลที่ส่งมาจากหน่วยความจําหลัก และจะนําข้อมูลดังกล่าวไปประมวลผล
รอม (Read Only Memory: ROM) คือ หน่วยความจําหลักชนิดถาวรของคอมพิวเตอร์ทําหน้าที่เก็บคําสั่งต่าง ๆ ไม่สามารถแก้ไข้ข้อมูลในรอมได้ เปรียบได้กับหนังสือที่จะเก็บความรู้ต่าง ๆ เอาไว้
แรม (Random Access Memory: RAM) คือ หน่วยความจําหลักชนิดหนึ่งของคอมพิวเตอร์ทําหน้าที่เก็บข้อมูล หรือคําสั่งต่าง ๆ ที่ใช้ในการประมวลผล สามารถแก้ไขข้อมูลในแรมได้ และข้อมูลจะหายไปเมื่อปิดเครื่อง
คอมพิวเตอร์ เปรียบได้กับกระดาษทดหน่วยคํานวณ และ ตรรกะ (Arithmetic and Login Unit: ALU) เป็นหน่วยที่ทําหน้าที่คํานวณทางด้านคณิตศาสตร์ เช่น บวก ลบ คูณ หาร หรือคํานวณทางตรรกะศาสตร์ เช่น เปรียบเทียบข้อเท็จ เป็นต้น
หน่วยควบคุม (Control Unit) เป็นหน่วยที่ทําหน้าที่ควบคุมการทํางานทุกๆ หน่วยในCPU และอุปกรณ์ต่อพ่วงให้ทํางานได้อย่างสัมพันธ์กัน
3 หน่วยแสดงผล (Output Unit)
หน่วยแสดงผลเป็นหน่วยที่ทําหน้าที่นําผลลัพธ์ที่ได้จากการประมวลผลกลางไปแสดง
ตัวอย่างอุปกรณ์ที่จัดเป็นชนิดหน่วยแสดงผลได้แก่
-จอภาพ
-เครื่องพิมพ์
-ลําโพง
4 หน่วยเก็บข้อมูลสํารอง (Secondary Storage)
หน่วยเก็บข้อมูลสํารอง คือ สื่อในการเก็บบันทึกข้อมูล เช่น Hard disk, CD-ROM,Tape, Floppy disk เป็นต้น
คอลโทรลสตรัคเจอ ( Control Structure)
สตรักเจอร์ เป็นวิธีการเก็บตัวแปรหลากชนิดให้อยู่เป็นกลุ่มก้อนเดียวกัน ทำให้สามารถแยกโปรแกรมออกเป็นหน่วย(Modular Programming) ซึ่งแก้ไขได้ง่ายเพราะสามารถแยกฟังก์ชันและตัวแปรออกเป็นหน่วยๆ ซึ่งก็เป็นประโยชน์ในการสร้างฐานข้อมูลด้วย
การเรียกใช้งาน สตรักเจอร์
โดยปกติการสร้างสตรักเจอร์ ทำได้โดยใช้คำสั่ง typedef และ struct ซึ่งโครงสร้างภายในของสตรักเจอร์ จะประกอบด้วยตัวแปรต่างๆ ซึ่งแยกออกเป็น field ตัวแปรชนิดต่างๆ และในแต่ละ field จะมีการกำหนดพื้นชนิด student_t ซึ่งสามารถทำได้อย่างตัวแปรทั่วไป เช่นเดียวกับ int float ที่หน่วยความจำ จนเพียงพอสำหรับแต่ละ field
คอลโทรล DAO ( Data Access Object )
DAO หรือ Data Access Object เป็นหัวใจของโปรแกรมประยุกต์ Visual Basic 3 ในพัฒนาการประยุกต์กับฐานข้อมูล DAO เป็นการติดต่อแบบ Object-oriented ไปยัง Microsoft Jet ที่เป็น engine ที่มีความสามารถสูง ผู้พัฒนาโปรแกรมสามารถออกแบบฐานข้อมูล MDB ด้วย Access และใช้ DAO จากโปรแกรมประยุกต์ Visual Basic ในการเปิดฐานข้อมูล เพิ่มและลบเรคคอร์ด และจัดการทรานแซคชัน สิ่งที่ดีที่สุดของ DAO คือไม่จำกัดผู้ใช้กับ Jet database เพราะผู้ใช้สามารถเปิดฐานข้อมูลทุกชนิดที่มีไดร์ฟเวอร์ ODBC ได้โดยตรงหรือผู้ใช้สามารถใช้ Jet attached table ซึ่งเป็น table เสมือนที่ปรากฏตามฐานข้อมูล MDB แต่การดึงและเก็บข้อมูลจริงในแหล่งอื่นของ ODBCถ้าผู้ใช้สามารถใช้ DAO เข้าถึงแหล่ง non-jet ผู้ใช้สามารถเห็นกลไกของฐานข้อมูล Access เช่น โปรแกรมประยุกต์ไม่ใช่ฐานข้อมูล Access ผู้ใช้ยังคงโหลด DLL ของ Jet engine เข้าสู่หน่วยความจำ DAO ไม่สามารถให้ผู้ใช้ทำงานกับฟังก์ชัน API ของ ODBC โดยตรง เช่น การทำงานแบบผลลัพธ์หลายชุด, การคิวรี่แบบ asynchronous หรือการติดต่อด้วย DAOData control เป็นตัว control ที่ให้ผู้ใช้เชื่อมตัว control 1 ตัวหรือมากกว่าบนฟอร์มกับแหล่งข้อมูลและมีปุ่ม navigator สำหรับเลื่อนเรคคอร์ดของ table ที่มีการติดต่อ Data control ดูเหมือนเป็นเครื่องมือที่ดีมาก เพราะทำให้สามารถทำการอินเตอร์เฟซ กับผู้ใช้ได้รวดเร็วแต่พบว่า Data control มีข้อจำกัดอยู่หลายอย่าง เมื่อพิจารณาสมรรถนะ Data control มีข้อเสียเปรียบสำคัญประการหนึ่ง คือ ผูกติดการประยุกต์ด้าน Front-end กับข้อมูลในฐานข้อมูล ถ้ามีการเปลี่ยนไปใช้เข้าถึงฐานข้อมูลอื่น จะต้องมีทบทวนฟอร์ม ทั้งในโปรแกรมประยุกต์ ถ้าต้องการเพิ่ม Validation rule ที่ซับซ้อนไปยังฟิลด์ ในฐานข้อมูล ต้องมีการเพิ่มคำสั่งในโมดูลเดียวของโปรแกรม ทำให้มีผลกับสถาปัตยกรรม 2-tier และไม่สามารถใช้ได้กับสถาปัตยกรรม 3-tier ซึ่งมีเลเยอร์ชั้นกลางระหว่างโปรแกรมประยุกต์ กับฐานข้อมูล ที่ให้บริการ เช่น การตรวจสอบข้อมูล กฎทางธุรกิจ ความสมดุลของภาระงานและความปลอดภัยVisual Basic 4 ไปปรับปรุง DAO เวอร์ชัน 3 ซึ่งมีส่วน DLL พิเศษ ที่ให้ผู้พัฒนาโปรแกรมด้วยเทคโนโลยี 32 บิต สามารถเข้าถึงฐานข้อมูล 16 บิต Visual Basic 5 ได้ปรับปรุงเป็น DAO 3.54 และ Visual Basic ได้ปรับปรุงเป็น DAO 3.51 และ DAO เวอร์ชัน 4 ได้ปรับปรุงสำหรับ Microsoft Office 2000
ไม่มีความคิดเห็น:
แสดงความคิดเห็น