วิชวลเบสิก (Visual Basic) ระดับพื้นฐาน
เว็บเพจสำรอง (Backup Webpages) : lampang.thcity.com | thaiall.com | 101-idea.com | thaiabc.com
ปรับปรุง : 2550-11-25 (แสดงภาษาของ taskbar)
LEARNING BY DOING
BASIC : Beginner's All-purpose Symbolic Instruction Code
ถ้าท่านเริ่มต้นอะไรไม่ได้เลยกับเว็บเพจหน้านี้ .. ขอแนะนำให้ไปซื้อหนังสือ เพราะผมก็เริ่มต้นด้วยหนังสือ 5 เล่ม
ความสำเร็จของผม คือ เห็นท่านนำความรู้ที่ได้ไปพัฒนาบ้านเมืองให้เจริญ เพราะบ้านเมืองที่ท่านพัฒนาก็คือบ้านเมืองของผม
ถ้า นักศึกษา คิดจะอ่านบทความนี้ไปทำ Project ขอให้เริ่มอ่านบทที่ 101 พร้อมเตรียมแฟ้มข้อมูลใน Microsoft Access ไว้เลยครับ
คำถามแรกที่อยากให้หาคำตอบ คือ Visual Basic ติดต่อฐานข้อมูลได้กี่แบบ แต่ละแบบ เขียน Code อย่างไร
Project ของ Visual Basic เริ่มต้นได้หลายแบบ แต่บทความทั้งหมดในเว็บเพจนี้ใช้ Standard EXE ทั้งหมด
History :
- BASIC by Dartmount College 1960
- BASIC for Altair by Bill Gates 1975
- GWBasic by Microsoft 1980
- QuickBasic by Microsoft 1980
- Visual Basic by Microsoft 1991

ภาษาเบสิค
(BASIC: Beginner's All Purpose Symbolic Instruction Code) พัฒนาโดย จอห์น เคมเมนี (John Kemeny) และ ธอมัส เดิรตส์ (Thomas Kurtz) วิทยาลัยดาร์ทเมิร์ท (Dartmouth College) ในปี ค.ศ. 1963
hlp: VB Reference 1 MB

จุดประสงค์
เพื่อใช้สอนวิชา การเขียนโปรแกรม และได้รับความนิยมอย่างสูง บนเครื่องไมโครคอมพิวเตอร์ โดยมีการนำมาทำเป็น ชุดคำสั่งถาวร (Firmware) เก็บไว้ใน ROM บนไมโครคอมพิวเตอร์รุ่นแรกๆ ปัจจุบันมีการพัฒนารูปแบบ และตัวแปรภาษาออกมาหลายรุ่น เช่น Quick BASIC, Turbo BASIC และยังได้รับความนิยมอยู่จนถึงปัจจุบัน เนื่องจากมักเป็นภาษาแรก ที่ใช้ในการเรียนการสอนวิชาคอมพิวเตอร์

    แนะนำเว็บ (Web Guides)
  1. vb-helper.com สั้นเยอะ
  2. juicystudio.com รู้ลึก หลายเรื่อง
  3. ostrosoft.com มี project เพียบ
  4. kutztown.edu สอน OS, VB
  5. สอน vb ได้ละเอียดพร้อมภาพ+zip
  6. vbexplorer สอน ado+dao
  7. msdn.microsoft.com
  8. devdos.com
  9. freevbcode.com
  10. freshmeat.com
  11. codehound.com
  12. vbaccelerator.com
  13. developer.com
  14. vbcode.com
  15. vbtechniques.com
  16. vbexplorer.com
  17. programmersheaven.com
  18. planet-source-code.com
  19. www.widebase.net/vb/vbtutorial
  20. ข้อสอบแบบตัวเลือก VB
  21. codigobyte.net
  22. Mark Pelczarski (Teacher)
  23. ณรงค์ ยอดชาญ (ADO,DAO)
  24. อนุรักษ์ มณีทอง
  25. อ.ถนอม คณิตปัญญาเจริญ
  26. แนวคิดการสอนเขียนโปรแกรม
เหตุที่ทำบทเรียนชุดนี้
1. ให้คำปรึกษาคนแปลกหน้าที่โทรถามได้
2. อาจรับมอบหมายให้ทำ หรือสอนในอนาคต
3. ต้องการตรวจสอบระบบเครือข่ายของตนเอง
4. สร้าง application ให้ลูก ๆ ได้ใช้

หนังสือในตู้ของผม
(แต่ละเล่มมีเรื่องใหม่ให้เรียนรู้เสมอ)
1. VB จิระ จริงจิตร
2. VB3 ราบินเดอร์ ศรีกิจจาภรณ์
3. VB5 กิตติ ภักดีวัฒนะกุล และจำลอง ครูอุตสาหะ
4. VB5 สัจจะ จรัสรุ่งรวีวร และกฤษณะ สถิตย์
5. VB6 ธาริน สิทธิธรรมชารี, สุรสิทธิ์ คิวประสพศักดิ์
    ตัวอย่างโปรแกรมเพื่อเป็นกรณีศึกษา
  1. 2550-02-05 :: ออกเสียงนับเงิน
    จากโปรแกรมแปลงตัวเลขเป็นภาษาไทย ผมนำของ อ.ถนอม ในบทที่ 18 มาปรับปรุง โดยเติมเสียงพูด ถ้านับเหมือน Bank ก็จะง่ายขึ้น number_wav.zip
  2. 2549-06-26 :: สร้างม้า Trojan อีก 4 ความสามารถ
    หนังสือของ ธีรศักดิ์ ฐานกุล ทำให้ผมทดสอบสร้างโปรแกรม 2 ตัวคือ remote300.exe เป็นตัวแม่ และ remote300t.exe เป็นตัวลูก ไว้ใช้ในห้องปฏิบัติการ เพื่อสั่งปิดเครื่อง (Shutdown) หรือ lock keyboard กับ mouse .. ต้องลองเอาไปใช้จริง แล้วค่อยคิดเรื่อง version ต่อไป (Download : remote300 + remote300t) แต่ Grisoft AVG Antivirus มองว่าโปรแกรมนี้เป็น Trojan horse Generic9.LAE
  3. 2549-06-20 :: สร้าง Msgbox Trojan ในเครื่องตนเอง
    ได้หนังสือ Trojan ด้วย VB ของ ธีรศักดิ์ ฐานกุล จึงทดสอบสั่ง msgbox ผ่าน 127.0.0.1 โดยมีโปรแกรมตัวแม่เป็นตัวสั่ง และ trojan เป็นตัวปฏิบัติ จากการทดสอบต้องเรียก trojan ก่อน ไม่งั้นพบ error โปรแกรมไม่ยากนัก ลองกด netstat ดู port และ Ctrl-Alt-Del ดูการเรียก Trojan thaiallcontrol1trojan.zip
  4. 2548-07-05 :: จัดการกับฐานข้อมูลระบบสั่งซื้อ (เสร็จ 10% ของเป้าหมาย)
    : Nwind.mdb เก็บ image อยู่แล้ว และใช้ OLE นำมาแสดง หรือแก้ไขภาพ .. ตั้งใจเขียนโดยไม่ใช้ Menu Bar ของ VB จึงเป็นตัวอย่างการสร้าง Application ที่มีรูปแบบของตนเอง โปรแกรมนี้ผมตั้งใจจะพัฒนาไปเรื่อย ๆ เพื่อเป็นตัวอย่างโครงงานให้นักศึกษาได้ศึกษา vbnwind.zip
  5. 2548-06-30 :: โปรแกรมทดสอบรหัสผ่าน
    : เป็นโปรแกรมรับรหัสผ่าน และแสดงภาพ แค่นั้น อยากให้ศึกษาการ Crack ในกรณีลืมรหัสผ่านด้วย Softice กับ Winhex testpassword.exe 44 KB + testpassword.zip 20 KB
  6. 2548-04-30 :: โปรแกรมที่รวมความสามารถต่าง ๆ ไว้ใช้ศึกษารุ่น 1.4
    : โปรแกรม Browser ข้อสอบ เว็บ link และเกม ที่จับเวลาขณะเล่น มีตัวอักษรให้จับคู่ทั้งหมด 24 ตัวอักษร บอลวิ่ง และวาดภาพสำหรับเด็ก ทั้งหมดรวมอยู่ใน .exe และ source code เก็บใน .zip thaiall.exe 400 KB + thaiall.zip 40 KB + charmath1.zip 3 KB
  7. 2548-04-16 :: นึกถึง visio กับ ออกแบบบ้าน
    โปรแกรมนี้เขียนขึ้นง่าย ๆ เป็นจุดเริ่มต้น ของการเตรียมวัตถุให้นักออกแบบ ได้นำไปออกแบบบ้านในอนาคต แต่ถ้าจะใช้เขียน flow chart คงต้องสร้าง object ขึ้นเอง เพราะคุณสมบัติที่มีมากับ vb ไม่มีภาพอย่าง diamon ให้เรียกใช้ได้ทันที โปรแกรมอย่าง visio ก็คงใช้แนวคิดง่าย ๆ อย่างที่ผมใช้นี่หละครับ ในใจก็คิดอยู่ว่าน่าจะเป็น project จบของนักศึกษาได้ในการสร้าง visio แบบนี้ขึ้นมา homecad1.zip
  8. 2548-04-10 :: โปรแกรมดู HTML ของเว็บที่เราทราบ URL + get
    เขียนอย่างง่าย ๆ เพื่อใช้ winsock เรียกบริการผ่าน port 80 แล้วได้มาเป็น code HTML แต่จำกัดเพียง 8192 Byte สามารถประยุกต์โปรแกรมนี้ได้หลายลักษณะ ตัวอย่างนี้ใช้ในเครื่องผมเป็น webserver และเขียน code รับค่าผ่าน get อย่างง่าย ๆ พอทดสอบส่งให้กับ google.co.th ทางเว็บนั้นก็ตอบกลับมา แสดงว่า ok getpost.zip
  9. 2548-04-09 :: สั่งให้หลอด LED ส่องแสงผ่าน printer port
    : อ่านจากหนังสือของ ดอนสัน ปงผาบ และเว็บไซต์อีกหลายเว็บ รวมถึงได้แฟ้ม dllport.dll จาก thaiio.com ทำให้มีโอกาสหาหลอด LED มาบัดกรีเอง แล้วทดสอบด้วย Assembly และ VB ก็ work ทั้ง 2 ภาษา แต่ทั้งหมดเขียนไว้ที่ http://www.thaiall.com/printer สิ่งที่พบคือเครื่องคอมบางเครื่องอาจมีเลข printer port ไม่เหมือนกัน ถ้าไม่ระวังอาจเขียนโปรแกรมจากเครื่องหนึ่ง พอไป run ในเครื่องอื่น อาจไม่ได้ผล
  10. 2548-03-30 :: โปรแกรม vb เรียกฐาน mysql
    ใช้ remote connect ถึง mysql server ผมไม่ได้เขียนอะไรเลย แต่ copy มาแนะนำเท่านั้น เป็นโปรแกรมที่ยอดมาก แต่เคยทดสอบกับ mysql3 แล้ว ok แต่กับ mysql4 ยังมีข้อสงสัย (โปรแกรมนี้ไม่ได้เตรียมตัวติดตั้ง เครื่องที่ไม่มี VB จึงใช้ไม่ได้) web หรือ DBMySQLVBAPI.zip #
  11. 2548-03-30 :: โปรแกรม ping ตรวจเครื่องในเครือข่าย
    ผมต้องการตรวจว่าเครื่องหนึ่ง เชื่อมต่อกับ server ได้ตลอดเวลาหรือไม่ เพราะเคยมีปัญหาว่า ip ที่ได้จาก DHCP หลุด จึงใช้โปรแกรมนี้ ping หรือประยุกต์โปรแกรมนี้ ping เครื่องในห้อง lab ว่ามีเครื่องเปิดหรือไม่ ก็ได้ tping3.exe หรือ tping3.zip
  12. 2547-12-01 :: ความซับซ้อนของ 6 เหลี่ยม (กำลังปรับปรุง)
    รูป 6 เหลี่ยมที่มีจุดอยู่นอกกรอบ หรือไม่ จากบทความของ ดร.ครรชิต มาลัยวงศ์ complex.zip (ยังไม่เฉลย)
  13. 2547-11-26 :: karaoke อย่างง่ายด้วย VB เป็น guide ให้นักศึกษา
    : Karaoke ที่เปิดใช้งานอยู่มีฐานข้อมูลคล้าย ๆ กัน อย่างเพลงที่ 8002 ที่ผมนำมาเป็นตัวอย่างก็คือ Hotel california ของ the eagles ผมนำแต่ .mid และ .lyr มาใช้ แต่แฟ้ม .cur ผมไม่ได้แกะ เพราะต้องการให้นักศึกษาศึกษา ลองทำโครงงานดู โปรแกรมนี้ใช้วิธีจับเวลา ที่ใช้ได้กับเพลงนี้เท่านั้น karaok1.zip 160 KB
  14. 2547-03-31 :: ใส่ icon ใน system taskbar
    : โปรแกรมนี้จะเพิ่ม icon ใน system taskbar เป็นรูปหลอดไฟ สามารถใช้ right click ที่หลอดไฟจะแสดงมีเมนู เลือกเปลี่ยนภาพ icon ของ system taskbar ได้ โปรแกรมนี้ได้มาจาก http://www.obodigital.com/vb/articles/shellnotifyicon.html shellnotifyicon.zip 3 KB
  15. 2546-11-26 :: เกมยิงภาพด้วยเพชรสีฟ้า
    : โปรแกรมเกมยิงภาพอย่างง่าย โดยควบคุมเรื่อง top, width, height และเวลาให้สอดคล้องกันเป็นหลัก ขนาดของ .zip จะใหญ่ถึง 300 Kb เพราะมีภาพขนาด 75*75 pixels ถึง 25 ภาพ shootimg.zip
  16. 2546-11-17 :: สไลด์ นำเสนอข้อมูลพร้อมภาพ (บทที่ 19)
    : โปรแกรมนำเสนอข้อมูลผ่านปุ่ม Previous และ Next โดยตัวอย่างนี้จะนำเสนอข้อมูลมนุษย์ผู้หญิง 3 คน ที่ชาวโลกคิดว่าหน้าตาไปวัดไปวาได้ แต่นี่คือตัวอย่างเท่านั้น มิได้นำไปใช้งานจริง slide.exe
  17. 2546-11-12 :: เปลี่ยนจำนวนเงินเป็นตัวอักษร (บทที่ 18)
    : โปรแกรมนี้ทำหน้าที่เปลี่ยนตัวเลขจำนวนเงิน เป็นตัวอักษร สามารถนำไปประยุกต์ใช้ในงานด้านธุรกิจได้ง่าย ได้ Source Code มาจากเว็บของ อ.ถนอม คณิตปัญญาเจริญ http://www.thanom.net numtxt.exe
  18. 2546-11-11 :: จับผิดภาพเหมือน (บทที่ 17)
    : โปรแกรมนี้เป็นตัวอย่างการควบคุมวัตถุ และฟอร์ม โดยใช้ภาพมาเป็นสื่อในการควบคุม ว่า click ถูกตำแหน่งที่กำหนดหรือไม่ หากเปลี่ยนภาพ ก็จะได้เกมที่น่าเล่นมาก หากนำไปใช้ และไม่ต้องการปรับมาก จะต้อง copy form2 เพราะ form1 เป็นการเขียนแบบเริ่มต้น form3 เป็นการเขียนแบบจบโปรแกรม form2 คือตรงกลาง ที่นำไปปรับได้ไม่ยาก dif.zip + dif.exe
  19. 2546-11-10 :: บอลวิ่งในจอภาพ (บทที่ 16)
    : สามารถกล่าวได้ว่าโปรแกรมนี้คือ screen saver โปรแกรมหนึ่ง เพราะเป็นโปรแกรมแสดงลูกบอล วิ่งในจอภาพอย่างง่าย ๆ แบบ full screen จาก source code หวังว่าผู้ศึกษาจะนำไปปรับเป็นโปรแกรมใช้งานได้ในหลายรูปแบบ ballrun.exe
  20. 2546-11-07 :: เกมคลิ๊กภาพ (บทที่ 15)
    : เกมจับผิดภาพเหมือน เกมค้นหาศัพท์ หรืออื่น ๆ สามารถนำหลักการของโปรแกรมนี้ไปตรวจสอบได้ โดยการควบคุมคุณสมบัติต่าง ๆ ของ object ให้มีความสอดคล้อง ความยากของโปรแกรมนี้คือการหาภาพ และสร้างโจทย์ มิใช่การเขียนโปรแกรม เพราะเทคนิคต่าง ๆ มีเพียงกำหนดคุณสมบัติ ตามเหตุการณ์ที่ควรเป็นเท่านั้น photoword.zip + photoword.exe
  21. 2546-10-25 :: thaibrowser อย่างง่าย
    : ใช้ component Microsoft Internet Controls สร้าง web browser อย่างง่ายที่แสดง html code ในหน้าจอเดียวกัน พร้อม drop down list สำหรับเว็บที่ชื่นชอบ thaibrowser.zip + thaibrowser.exe
  22. 2546-10-23 :: ข้อสอบแบบ offline
    : พัฒนาโปรแกรมข้อสอบแบบ offline ด้วย VB โดยข้อสอบเก็บใน array ภายในโปรแกรม ทำให้ upgrade ข้อสอบในโปรแกรมไม่ได้ แต่ก็มีระบบรวมคะแนนต่าง ๆ ที่ใช้ได้ทีเดียว เทคนิคต่าง ๆ ธรรมดามาก โดยข้อมูลเก็บใน listbox แล้ว split แต่ละบรรทัดออกมาเป็นข้อสอบ โปรแกรมนี้เขียนด้วย VB6 ประกอบด้วย .vbp และ .frm vbquiz.zip + vbquiz.exe
  23. 2546-07-11 :: ตรวจสอบ ip ในเครือข่ายด้วย ping
    : ผมมีโอกาสพัฒนาโปรแกรมขึ้นมาโปรแกรมหนึ่ง เพื่อใช้ตรวจสอบระบบเครือข่าย ว่ามีคอมพิวเตอร์เครื่องใดเปิดอยู่บ้าง เขียนด้วย VB แล้วใช้ icmp.dll ช่วย อยู่ในบทที่ 202 หากสนใจสามารถ download ไปทดสอบได้ครับ ทั้ง source ใน chap202.zip และ tping.exe ต่อมาได้ upgrade โปรแกรมนี้เป็น tping2.exe และ tping2.zip
สารบัญ
ตอนที่ 1 : General Component for Beginner
บทที่ 1: สร้าง form และปุ่ม close
บทที่ 2: ปุ่มควบคุมบวก และลบของ textbox
บทที่ 3: เปลี่ยนคุณสมบัติของ shape เป็นรูปทรงต่าง ๆ
บทที่ 4: การใช้ menu editor สร้าง menu bar ส่วนตัว
บทที่ 5: สร้างหลาย form และสั่งเปิดปิดตามต้องการ
บทที่ 6: ควบคุม visible ของแต่ละ object
บทที่ 7: สุ่มเลข เพื่อทดสอบการควบคุม list box
บทที่ 8: สุ่มเลข ส่งเข้า list box และส่งเข้า combo box อีกครั้ง
บทที่ 9: สุ่มเลขจำนวนมาก ส่งเข้า list box, combo box และตรวจคู่คี่
บทที่ 10: เพิ่ม ลบ แก้ไขจาก list box โดยคุม visible และ enabled
บทที่ 11: ค้นหาส่วนหนึ่งส่วนใดของระเบียนก็ได้
บทที่ 12: ค้นหาข้อมูลแบบเลือกมากกว่า และตาม primary key
บทที่ 13: เปิดปิดฟอร์ม และภาพในจุดต่าง ๆ
บทที่ 14: นาฬิกา Digital
บทที่ 15: เกมคลิ๊กภาพ
บทที่ 16: บอลวิ่งในจอภาพ
บทที่ 17: จับผิดภาพเหมือน
บทที่ 18: เปลี่ยนจำนวนเงินเป็นตัวอักษร
บทที่ 19: สไลด์ นำเสนอข้อมูลพร้อมภาพ
บทที่ 20: เครื่องคิดเลขอย่างง่ายมีเฉพาะปุ่ม +
บทที่ 21: ออกเสียง .wav นับหน่วยเงินภาษาไทย
ตอนที่ 2 : Data Control & ADODC (Active Data Object Data Control)
บทที่ 101: ใช้ Data control ร่วมกับ Text box
บทที่ 102: ใช้ Data control ร่วมกับ DBGrid
บทที่ 103: เพิ่ม record ใหม่ด้วย Data control และควบคุม visible + enabled
บทที่ 104: ลบ record ด้วยการค้นหาจนพบ แล้วจึง update หรือ cancel
บทที่ 105: แก้ไขข้อมูล สามารถเลือกทั้ง DBGrid, Data bar และ Seek
บทที่ 106: DBGrid ที่เพิ่ม ลบ แก้ไข และการค้นหาจาก Index
บทที่ 107: ใช้ Data form wizard กับ ADO data control สร้าง form อย่างง่าย
บทที่ 111: สร้าง DSN ชื่อ nwind
บทที่ 112: เรียกใช้ Adodc และมีปุ่มเลื่อนไประเบียนข้างหน้า
ตอนที่ 3 : DAO (Data Access Object)
บทที่ 201: เรียกระเบียนแรก และกดปุ่มเพื่อแสดงระเบียนถัดไปด้วย DAO + JET
บทที่ 202: เพิ่มระเบียนใหม่ต่อท้ายแบบ DAO recordset และแสดงใน msgbox
บทที่ 203: เพิ่มระเบียนใหม่ต่อท้ายแบบ Data control + DAO recordset
ตอนที่ 4 : ใช้ API ของระบบ Windows
บทที่ 301: ใช้ GetFreeSpaceA ของ kernel32
บทที่ 302: ใช้ icmp.dll ช่วย ping เพื่อตรวจสอบ host ในเครือข่าย class C
บทที่ 303: ฟอร์มโปร่งแสง และเชื่อมต่อกับ server ผ่าน Hidden IE
:: เปิดดูทุก ๆ ตอน ::

    ข้อควรทราบ
    ฮิปโปจะอ้าปากรออาหาร แต่เสือชอบกระโจนเข้าตะครุบเหยื่อ
  1. ในเครื่องคอมพิวเตอร์เครื่องเดียวกัน สามารถเปิด project ของ VB มาพัฒนาได้พร้อมกันหลาย project และทดสอบแต่ละ project ได้แยกกันโดยอิสระ
  2. ผู้เรียนควรเข้าใจคำว่า ตัวแปร การเลือกตามเงื่อนไข การทำซ้ำ และมีความรู้ด้านภาษาอังกฤษ พอสมควร จะช่วยให้ศึกษาตัวอย่างเหล่านี้ได้ง่ายขึ้น
  3. ในแฟ้ม .zip ของแต่ละบท จะมีแฟ้ม .vbp และ .frm ซึ่งผู้ศึกษาสามารถนำไปทดสอบประมวลผล ในเครื่องที่ติดตั้งโปรแกรม Visual basic ได้
  4. เมื่อต้องการพิมพ์ภาษาไทย (Thai language) ใน code ด้วย Menu bar, Tools, Options, Edit format, Normal text ให้ท่านเปลี่ยน font name จาก Courier new เป็น Fixedsys จะทำให้ใช้ภาษาไทยได้
  5. สามารถเพิ่ม Components หรือ Control ด้วย Ctrl+T เช่น
  6. บทเรียนทั้งหมดนี้ ทดสอบกับ Visual basic 6.0 ของบริษัท Microsoft corp. และใช้งานบนระบบปฏิบัติการ Microsoft Windows
  7. โปรแกรมที่ผมเขียนเป็นตัวอย่างส่วนใหญ่จะกำหนดชื่อ text หรือ command ตามที่ระบบกำหนดให้(Default name) จะไม่พยายามเปลี่ยน และจะไม่ใช้ control array โดยไม่จำเป็น เวลาท่านศึกษา ก็จินตนาการตามผมได้เลยว่าจะไม่พยายามทำอะไรที่ยุ่งยากซับซ้อน เพราะผมไม่อยากงงเวลากลับมาดูในภายหลัง

เพื่อนของผม ชื่อ อ.ถนอม คณิตปัญญาเจริญ (thanom@yonok.ac.th)
มีอะไรเรื่อง VB ที่หาไม่เจอในหนังสือ ผมก็ถามเขานี่หละ
มีเป็น Freelance ด้าน Website และ Visual Basic
Tel.0-9757-1846, 0-5431-6809
หาข้อมูลเพิ่มเติมได้ที่ thanom.net

ตัวอย่างสั้น
Ex 1. คำนวณเวลา
x = "12:12:16"
y = "13:12:19"
sx = Hour(x) * 3600 + Minute(x) * 60 + Second(x)
sy = Hour(y) * 3600 + Minute(y) * 60 + Second(y)
MsgBox sy - sx
MsgBox DateDiff("s", x, y)
'Output is 3603
Ex 2. Text File #
Dim fso, MyFile
Set fso=CreateObject("Scripting.FileSystemObject")
Set MyFile=fso.CreateTextFile("c:\test.txt",true)
MyFile.WriteLine("This is a test.")
MyFile.Close

Ex 3. แสดงภาษาปัจจุบันของ taskbar
Private Declare Function GetLocaleInfo& Lib "KERNEL32" Alias "GetLocaleInfoA" ( _
ByVal Locale&, ByVal LCType&, ByVal lpLCData$, ByVal cchData&)
Private Declare Function GetKeyboardLayout& Lib "USER32" (ByVal dwLayout&)
Private Sub Form_Load()
Dim r&, strng$, buffer As String * 256
r = GetKeyboardLayout(0)
r = Val("&H" & Right(Hex(r), 4))
r = GetLocaleInfo(r, &H2, buffer, 256 - 1)
MsgBox buffer
Unload Me
End Sub


5. ADODB + ODBC
+ http://www.thaiabc.com/asp/dthai97.mdb 70 KB
5.1 สร้าง module ชื่อ autoexec
' Menu Bar, Project, Project Propoties, Startup Object=Sub Main
' Menu Bar, Project, Project References
' - Visual Basic For Applications
' - Visual Basic runtime objects and procedures
' - Visual Basic objects and procedures
' - OLE Automation
' - Microsoft ActiveX Data Objects 2.1 Library
' - Microsoft DAO 3.51 Object Library
' - Microsoft Data Binding Collection VB 6.0 (SP4)
' - Microsoft Data Environment Instance 1.0
' - Microsoft Data Report Designer 6.0 (SP4)
' - Microsoft Data Formatting Object Library 6.0 (SP4)
Option Explicit
Public cndb As New ADODB.Connection
Sub main()
  Set cndb = New ADODB.Connection
  With cndb
    .ConnectionString = "dsn=dthai97"
    .CommandTimeout = 20
    .CursorLocation = adUseClient
    .Open
  End With
  Form1.Show
End Sub
5.2 สร้างฟอร์มชื่อ form1
' form1 form
Option Explicit
Dim rs As New ADODB.Recordset
Private Sub Command1_Click()
Set rs = cndb.Execute("select * from tbthai")
If rs.RecordCount <= 0 Then Exit Sub
rs.Requery
Dim txt As String
txt = ""
Do While Not rs.EOF
  txt = txt & rs.Fields(0) & " " & rs!fid & Chr(13)
  rs.MoveNext
Loop
MsgBox txt
End Sub
การเชื่อมต่อฐานข้อมูล
(Database Connection)
จุดประสงค์การเรียนรู้ เรื่อง การเชื่อมต่องฐานข้อมูล
1. ทราบว่ามีการเชื่อมต่อกี่แบบ
2. ทราบว่าแต่ละแบบใช้งานอย่างไร
3. ทดสอบเขียนโปรแกรมที่ง่ายที่สุดกับ .MDB
4. เข้าใจคำว่า ระยะทางหมื่นลี้ เริ่มที่ก้าวแรก
1. Data Control
คือ การเชื่อมต่อฐานข้อมูลแบบใช้ Control เชื่อมต่อฐานข้อมูล เป็นวิธีที่ง่าย และสะดวก เพราะจัดการกับฐานข้อมูลได้โดยอัตโนมัติ สามารถใช้ DBGrid แสดงข้อมูลเป็นตาราง หรือแสดงแต่ละเขตข้อมูล ผ่าน textbox แต่มีข้อจำกัดเรื่องจำนวนตาราง การเลือกข้อมูลบางส่วน การตรวจสอบข้อมูลก่อนจัดเก็บ และใช้ทรัพยากรมาก
ขั้นตอนทดสอบให้เห็นผล ในเบื้องต้น
1. นำ Data Control จาก Tool Box ไปวางใน Form
2. ต้องมีคำว่า Data1.refresh มิเช่นนั้นมีปัญหา
3. นำ code ด้านล่างไปใส่ใน Code View
4. ใช้ Initialize() แต่ Load() ไม่ได้
5. อ่านข้อมูลมาแสดงใน msgbox เมื่อ Start Form
6. ให้ฝึกเปลี่ยน ตาราง และเขตข้อมูล ท่านจะได้ชำนาญ

2. ADODC (ADO Data Control)
คือ การเชื่อมต่อฐานข้อมูลแบบใช้ Control เชื่อมต่อฐานข้อมูล เป็นวิธีที่ง่าย และสะดวก สามารถใช้ SQL เลือกข้อมูลได้ ซึ่งยืดหยุ่นกว่าการใช้ชื่อตารางใน Data Control
ขั้นตอนทดสอบให้เห็นผล ในเบื้องต้น
1. เพิ่ม Components (Ctrl-T) .. (MSADODC.OCX)
ชื่อ Microsoft ADO Data Control 6.0 (OLEDB)
2. นำ ADODC จาก Tool Box ไปวางใน Form
3. ต้องมีคำว่า ADODC1.refresh มิเช่นนั้นมีปัญหา
4. นำ code ด้านล่างไปใส่ใน Code View
5. อ่านข้อมูลมาแสดงใน msgbox เมื่อ Start Form
6. ให้ฝึกเปลี่ยน ตาราง และเขตข้อมูล ท่านจะได้ชำนาญ

3. DAO (Data Access Object)
คือ การเชื่อมต่อฐานข้อมูลแบบตัวเแปรชนิดพิเศษ เพื่อติดต่อฐานข้อมูล สามารถควบคุมได้อย่างยืดหยุ่น เช่น ตรวจความถูกต้อง หรือยกเลิกข้อมูลที่ได้แก้ไข สามารถใช้ SQL(Structured Query Language) ได้
ขั้นตอนทดสอบให้เห็นผล ในเบื้องต้น
1. เพิ่ม Menu Bar, Project, Reference
ชื่อ Microsoft DAO 3.51 Object
2. จึงใช้ workspace, database และ recordset ได้
3. นำ code ด้านล่างไปใส่ใน Code View
4. อ่านข้อมูลมาแสดงใน msgbox เมื่อ Start Form
5. ให้ฝึกเปลี่ยน ตาราง และเขตข้อมูล ท่านจะได้ชำนาญ

4. ADODB (ActiveX Data Objects Database)
คือ การเชื่อมต่อฐานข้อมูลแบบตัวเแปรชนิดพิเศษ เพื่อติดต่อฐานข้อมูล สามารถควบคุมได้อย่างยืดหยุ่น เช่น ตรวจความถูกต้อง หรือยกเลิกข้อมูลที่ได้แก้ไข สามารถใช้ SQL(Structured Query Language) ได้ (แบบใหม่)
ขั้นตอนทดสอบให้เห็นผล ในเบื้องต้น
1. เพิ่ม Menu Bar, Project, Reference
ชื่อ Microsoft ActiveX Data Objects 2.0 Library
2. จึงใช้ adodb.connection, adodb.recordset ได้
3. นำ code ด้านล่างไปใส่ใน Code View
4. อ่านเพิ่มเติม #
4. อ่านข้อมูลมาแสดงใน msgbox เมื่อ Start Form
5. ให้ฝึกเปลี่ยน ตาราง และเขตข้อมูล ท่านจะได้ชำนาญ
:: เปิดดูทุก ๆ ตอน ::

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : thcity.com : korattown.com : topsiam.com : มหาวิทยาลัยโยนก
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : yourname@thaiall.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223