ขนาด: 17*22 ซม.
จำนวนหน้า: 400 หน้า
พิมพ์ครั้งที่ 1: กรกฎาคม 2555
ลักษณะพิเศษ: พิมพ์ขาวดำ

แถมซีดี 1 แผ่น
ระดับความยากง่าย: ผู้เริ่มต้นจนถึงระดับสูง
ผู้จัดจำหน่าย: บริษัท ซีเอ็ดยูเคชั่น จำกัด (มหาชน)
หนังสือเล่มนี้มีจุดมุ่งหมายให้คุณสามารถศึกษาและเขียนโปรแกรมด้วยภาษา VBA ได้อย่างรวดเร็ว เพื่อติดต่อกับฐานข้อมูล Access (เน้นเวอร์ชั่น 2007 และ 2010) โดยใช้เทคโนโลยี ADO ซึ่งครอบคลุมตั้งแต่เรื่องของ Object Model และการใช้งานออบเจ็คต่างๆ เช่น ออบเจ็ค Connection, ออบเจ็ค Recordset, ออบเจ็ค Command และออบเจ็ค Parameter โดยมีตัวอย่างโปรแกรมประกอบอย่างละเอียด สามารถนำไปทดลองใช้เพื่อดูผลลัพธ์ได้จริง นอกจากนี้ยังมีเนื้อหาอื่นๆที่จะช่วยให้คุณสามารถพัฒนาโปรแกรมให้ทำงานได้อย่างมีประสิทธิภาพและตรงตามวัตถุประสงค์ได้มากยิ่งขึ้น
สารบัญ
** คลิกที่ชื่อบทเพื่อเปิด/ปิดหัวข้อย่อย
โครงสร้างภาษา VBA
การใช้งานโปรแกรมภาษา VBA ใน Access
โปรแกรมที่นำไปผูกกับเหตุการณ์ที่เกิดขึ้น
โปรแกรมที่สร้างและเก็บไว้เป็นออบเจ็ค Module
ออบเจ็ค Module
ส่วนประกอบของวินโดว์Microsoft Visual Basic for Applications
สร้างโปรแกรมผูกกับเหตุการณ์ของออบเจ็คForm/Report
สร้างโปรแกรมผูกกับเหตุการณ์ของคอนโทรล
วิธีสร้างออบเจ็ค Module
การนำโปรแกรมจากออบเจ็ค Module มาใช้งาน
สรุป
ชนิดข้อมูล (Data Types)
กฎการตั้งชื่อตัวแปร
วิธีประกาศตัวแปร (Variables Declaration)
ประกาศตัวแปรแบบ Explicit
ประกาศตัวแปรแบบ Implicit
การประกาศตัวแปรค่าคงที่(Constant Variables Declaration)
ประกาศตัวแปรแบบอาร์เรย์(Array Variables Declaration)
ประกาศตัวแปรอาร์เรย์แบบ Static
ประกาศตัวแปรอาร์เรย์แบบ Dynamic
ขอบเขตการใช้งานตัวแปร
แบบ Public หรือ Global
แบบ Private หรือ Local
สรุป
ตัวดำเนินการทางคณิตศาสตร์(Arithmetic Operators)
ลำดับการทำงานของตัวดำเนินการ
ตัวดำเนินการเชื่อมข้อความ(Concatenation Operators)
ตัวดำเนินการเปรียบเทียบ(Comparison Operators)
ตัวดำเนินการทางตรรกะและระดับบิต(Logical and Bitwise Operators)
การใช้งานตัวดำเนินการต่างๆในภาษา VBA
กำหนดค่าให้ตัวแปรด้วยเครื่องหมาย =
เครื่องหมาย , (comma)
เครื่องหมาย : (Colon)
เครื่องหมาย " " (Double Quotes)
เครื่องหมาย & (Ampersand)
เครื่องหมายแสดงค่าติดลบ - (Negation)
เครื่องหมายการบวก + (Addition)
เครื่องหมายการลบ - (Subtraction)
เครื่องหมายการคูณ * (Multiplication)
เครื่องหมายการหาร / หรือ (Division)
เครื่องหมายยกกำลัง ^ (Exponentiation)
คำนวณหาเศษของการหารด้วย Mod (Modulator)
หมายเหตุ (Comments)
ขึ้นบรรทัดใหม่ด้วย Carriage Return-Line Feed
เครื่องหมายวงเล็บ ( ) (Parentheses)
เครื่องหมาย [ ] (Square Brackets)
เครื่องหมาย ! (Collection)
อ้างอิง Form และคอนโทรลใน Form
อ้างอิงคุณสมบัติของ Formและคอนโทรลใน Form
เครื่องหมาย _ (Line Continuation)
การทำงานของตัวดำเนินการระดับบิต(Bitwise Operation)
รหัส ASCII (American Standard Code forInformation Interchange)
ระบบเลขฐานสอง
วิธีแปลงเลขฐานสองให้เป็นเลขฐานสิบ
กลับค่าในบิตด้วย Not
นำค่าในบิตมา And กัน (Bitwise Conjunction)
นำค่าในบิตมา Or กัน (Bitwise Disjunction)
นำค่าในบิตมา Xor กัน (Bitwise Exclusion)
นำค่าในบิตมา Eqv กัน (Bitwise Equivalent)
นำค่าในบิตมา Imp กัน (Bitwise Implication)
สรุป
คำสั่งควบคุมลำดับการทำงาน(Process control statements)
กลุ่มคำสั่งเงื่อนไข (Conditional)
If…Then…
If…Then…Else
IF…Then..ElseIF
Select Case…End Select
กลุ่มคำสั่งวนซํ้า (Iteration)
For…Next
Do While…Loop
Do…Loop While
Do Until…Loop
Do…Loop Until
กลุ่มคำสั่งข้ามไปทำ (Branching)
GoSub
GoTo
On…GoSub
On…GoTo
กลุ่มคำสั่งออกจากการทำงาน (Exit…)
Exit For
Exit Do
Exit Sub และ Exit Function
การกำหนดระยะย่อหน้าในโปรแกรม
สรุป
ฟังก์ชั่น InputBox
ฟังก์ชั่น MsgBox
ตารางแสดงค่าตัวเลขของปุ่มคำสั่งและไอคอน
ตารางการคืนค่าปุ่มคำสั่งเมื่อผู้ใช้คลิกปุ่มคำสั่งนั้น
ฟังก์ชั่นจัดการข้อมูลแบบ String
ฟังก์ชั่น Asc
ฟังก์ชั่น Chr
ฟังก์ชั่น InStr
ฟังก์ชั่น InStrRev
ฟังก์ชั่น LCase
ฟังก์ชั่น Left
ฟังก์ชั่น Len
ฟังก์ชั่น LTrim
ฟังก์ชั่น Mid
ฟังก์ชั่น Replace
ฟังก์ชั่น Right
ฟังก์ชั่น RTrim
ฟังก์ชั่น Space
ฟังก์ชั่น String
ฟังก์ชั่น StrReverse
ฟังก์ชั่น Trim
ฟังก์ชั่น UCase
ฟังก์ชั่นคำนวณทางคณิตศาสตร์
ฟังก์ชั่น Abs
ฟังก์ชั่น Atn
ฟังก์ชั่น Cos
ฟังก์ชั่น Exp
ฟังก์ชั่น Log
ฟังก์ชั่น Rnd
ฟังก์ชั่น Round
ฟังก์ชั่น Sgn
ฟังก์ชั่น Sin
ฟังก์ชั่น Sqr
ฟังก์ชั่น Tan
ฟังก์ชั่นจัดการข้อมูลวันที่และเวลา
ฟังก์ชั่น Date
ฟังก์ชั่น DateAdd
ฟังก์ชั่น DateDiff
ฟังก์ชั่น DateSerial
ฟังก์ชั่น DateValue
ฟังก์ชั่น Day
ฟังก์ชั่น Hour
ฟังก์ชั่น Month
ฟังก์ชั่น Now
ฟังก์ชั่น Second
ฟังก์ชั่น Time
ฟังก์ชั่น TimeSerial
ฟังก์ชั่น TimeValue
ฟังก์ชั่น WeekDay
ฟังก์ชั่น Year
ฟังก์ชั่นแปลงข้อมูล
ฟังก์ชั่น CBool
ฟังก์ชั่น CByte
ฟังก์ชั่น CCur
ฟังก์ชั่น CDate
ฟังก์ชั่น CDbl
ฟังก์ชั่น CDec
ฟังก์ชั่น CInt
ฟังก์ชั่น CLng
ฟังก์ชั่น CSng
ฟังก์ชั่น CStr
ฟังก์ชั่น CVar
ฟังก์ชั่น Fix
ฟังก์ชั่น Hex
ฟังก์ชั่น Int
ฟังก์ชั่น Oct
ฟังก์ชั่น Str
ฟังก์ชั่น Val
ฟังก์ชั่นเกี่ยวกับตัวแปรอาร์เรย์
ฟังก์ชั่น Array
ฟังก์ชั่น IsArray
ฟังก์ชั่น LBound
ฟังก์ชั่น UBound
สรุป
ความแตกต่างระหว่างโพรซีเจอร์และฟังก์ชั่น
การประกาศโพรซีเจอร์และฟังก์ชั่นที่สร้างเอง
โพรซีเจอร์
ฟังก์ชั่น
ขอบเขตการใช้งานโพรซีเจอร์และฟังก์ชั่น
แบบ Public
แบบ Private
การเรียกใช้โพรซีเจอร์
เรียกโดยใช้คำสั่ง Call
เรียกโดยไม่ใช้คำสั่ง Call
การเรียกใช้ฟังก์ชั่น
วิธีส่งผ่านค่าในอาร์กิวเมนต์
สรุป
ความผิดพลาดลักษณะต่างๆที่อาจเกิดขึ้นกับโปรแกรม
วิธีลดข้อผิดพลาดในการเขียนโปรแกรม
ตรวจสอบและจัดการข้อผิดพลาดด้วยเครื่องมือบนทูลบาร์ Debug
คำสั่ง Immediate Window
คำสั่ง Toggle Breakpoint
คำสั่ง Step Into
คำสั่ง Step Over
คำสั่ง Step Out
คำสั่งที่ใช้จัดการข้อผิดพลาดในโปรแกรม
คำสั่ง On Error Resume Next
คำสั่ง On Error GoTo ...
คำสั่ง Resume Next
คำสั่ง Resume
คำสั่ง Err.Number
คำสั่ง Err.Description
คำสั่ง Err.Clear
คำสั่ง Err.Raise
สรุป
การอ้างอิงฟอร์มและคอนโทรล
รูปแบบการอ้างอิง Form และคอนโทรล
รู้จักออบเจ็ค Docmd
เมธอด OpenForm
เมธอด OpenReport
เมธอด OpenQuery
เมธอด GotoRecord
เมธอด FindRecord
เมธอด SetWarnings
เมธอด RunCommand
เมธอด RunSQL
เมธอด CancelEvent
เมธอด Requery
คุณสมบัติในกลุ่มเหตุการณ์ของฟอร์ม
เหตุการณ์ที่ใช้งานร่วมกับการเปิดฟอร์ม
On Open
On Load
On Activate
On Current
กลุ่มเหตุการณ์ที่ใช้ในการแก้ไขข้อมูล
On BeforeUpdate
On AfterUpdate
On BeforeDelConfirm
On AfterDelConfirm
On Dirty และ On Change
กลุ่มเหตุการณ์ที่ใช้ทำงานร่วมกับคีย์บอร์ด
On Key Down
On Key Press
On Key Up
กลุ่มเหตุการณ์ที่ใช้ทำงานร่วมกับเมาส์
MouseMove
MoveDown
MouseUp
On Click
คุณสมบัติในกลุ่มเหตุการณ์ของคอนโทรล
คอนโทรล Text Box
คอนโทรล Check Box
คอนโทรล Combo Box และคอนโทรล List Box
ลิสต์แบบ Single Column
ลิสต์แบบ Multi-Column
คอนโทรล Option Group
คอนโทรล Tab
คอนโทรล SubForm
รูปแบบการอ้างอิงฟอร์มย่อย และคอนโทรล
สรุป
รู้จักภาษา SQL
ประเภทคำสั่งในภาษา SQL
คำสั่งที่ใช้จัดการข้อมูลในฐานข้อมูล (DML)
คำสั่งที่ใช้จัดการโครงสร้างฐานข้อมูล (DDL)
สร้างคำสั่ง SQL ในมุมมอง SQLของ Access 2010
มุมมอง SQL ของ Query
สร้างคำสั่ง SQL ด้วยตัวเองในมุมมอง SQL
กลุ่มคำสั่ง Data Manipulation Language
เลือกข้อมูลไม่ซํ้ากันด้วย DISTINCTและ DISTINCTROW
กำหนดเงื่อนไขการเลือกด้วยคำสั่ง WHERE
จัดเรียงข้อมูลด้วยคำสั่ง ORDER BY
คำนวณหาผลสรุปข้อมูลด้วยAggregate Function
ฟังก์ชั่น SUM()
ฟังก์ชั่น COUNT()
ฟังก์ชั่น MIN()
ฟังก์ชั่น MAX()
ฟังก์ชั่น AVG()
จัดกลุ่มข้อมูลด้วยคำสั่ง GROUP BY
กำหนดเงื่อนไขการจัดกลุ่มข้อมูลด้วยคำสั่ง HAVING
การดึงข้อมูลจากหลายเทเบิล
INNER JOIN
OUTER JOIN
การใช้ Subquery
เพิ่มข้อมูลเรคอร์ดใหม่ด้วยคำสั่ง INSERT INTO
แก้ไขข้อมูลด้วยคำสั่ง UPDATE
ลบเรคอร์ดออกจากเทเบิลด้วยคำสั่ง DELETE
กลุ่มคำสั่ง Data Definition Language
สร้างเทเบิลใหม่ด้วยคำสั่ง CREATE TABLE
สร้างเทเบิลแบบไม่กำหนดดัชนี
สร้างเทเบิลแบบกำหนดดัชนีจาก 1 ฟีลด์
สร้างเทเบิลแบบกำหนดดัชนีจากหลายฟีลด์
สร้างเทเบิลโดยมีฟีลด์เชื่อมโยงความสัมพันธ์กับเทเบิลอื่น 1 ฟีลด์
สร้างเทเบิลโดยมีฟีลด์เชื่อมโยงความสัมพันธ์กับเทเบิลอื่นหลายฟีลด์
เปลี่ยนแปลงโครงสร้างเทเบิลด้วยคำสั่ง ALTER TABLE
เพิ่มฟีลด์ใหม่ด้วยคำสั่ง ADD COLUMN
สร้างดัชนีหรือความสัมพันธ์จากฟีลด์ที่มีอยู่แล้วด้วยคำสั่ง ADD CONSTRAINT
ลบฟีลด์ออกจากเทเบิลด้วยคำสั่ง DROP COLUMN
ลบดัชนีหรือความสัมพันธ์ออกจากเทเบิลด้วยคำสั่ง DROP CONSTRAINT
เพิ่มดัชนีใหม่บนเทเบิลที่สร้างไว้แล้วด้วยคำสั่ง CREATE INDEX
ลบดัชนีออกจากเทเบิลด้วยคำสั่ง DROP INDEX
ลบเทเบิลด้วยคำสั่ง DROP TABLE
สรุป
รู้จักกับ ADO
ADO Object Model
ติดตั้ง Library ก่อนใช้งาน ADO
เชื่อมต่อกับฐานข้อมูลด้วยออบเจ็ค Connection
ประกาศตัวแปรเพื่อใช้อ้างถึงออบเจ็ค Connection
กำหนด OLE DB Provider และรายละเอียดการเชื่อมต่อใน ConnectionString
เปิดการเชื่อมต่อกับฐานข้อมูลด้วยเมธอด Open
ปิดการเชื่อมต่อกับฐานข้อมูลด้วยเมธอด Close
ตัวอย่างโปรแกรมตรวจสอบการเชื่อมต่อกับฐานข้อมูล
การทำงานของโปรแกรม
เปิดการใช้งานออบเจ็ค Recordset
เมธอดและคุณสมบัติบางตัวของออบเจ็ค Recordset
เพิ่มเรคอร์ดใหม่ด้วยเมธอด AddNew
ลบเรคอร์ดด้วยเมธอด Delete
บันทึกเรคอร์ดด้วยเมธอด Update
ยกเลิกการแก้ไขข้อมูลด้วยเมธอดCancelUpdate
เลื่อนเรคอร์ดด้วยเมธอด Move...
ตรวจสอบตำแหน่งตัวชี้เรคอร์ดด้วยคุณสมบัติ BOF และ EOF
แสดงตำแหน่งเรคอร์ดด้วยคุณสมบัติAbsolutePosition
นับจำนวนเรคอร์ดทั้งหมดด้วยคุณสมบัติRecordCount
เก็บตำแหน่งเรคอร์ดด้วยคุณสมบัติ Bookmark
ค้นหาเรคอร์ดด้วยเมธอด Find
เข้าถึงข้อมูลในแต่ละฟีลด์ด้วยคอลเล็คชั่น Fields
การเข้าถึงและจัดการข้อมูลใน Recordset
แบบ Unbound
ดึงข้อมูลมาแสดงบนฟอร์ม
การทำงานของโปรแกรม
การเพิ่ม/ลบ/แก้ไขข้อมูล
การทำงานของโปรแกรม
ขั้นตอนการเพิ่ม ลบ แก้ไขข้อมูล
หาตำแหน่งปัจจุบันของเรคอร์ด
การทำงานของโปรแกรม
ค้นหาข้อมูลที่ต้องการ
การเข้าถึงและจัดการข้อมูลใน Recordset แบบ Bound
ดึงข้อมูลมาแสดงบนฟอร์ม
การทำงานของโปรแกรม
เพิ่ม/ลบ/แก้ไข/ค้นหา และแสดงตำแหน่งเรคอร์ด
การทำงานของโปรแกรม
การใช้งานเมธอด GotoRecordของออบเจ็ค Docmd
ประมวลผลคำสั่งด้วยเมธอด Executeของออบเจ็ค Connection
รูปแบบที่ 1 ไม่ต้องส่งผลลัพธ์เป็นRecordset กลับมา
รูปแบบที่ 2 ส่งผลลัพธ์เป็น Recordset กลับมา
เปิดการใช้งานออบเจ็ค Command
เชื่อมต่อกับฐานข้อมูลด้วยคุณสมบัติActiveConnection
ประมวลผลคำสั่งด้วยเมธอด Executeของออบเจ็ค Command
การใช้งานออบเจ็ค Parameter
สร้างออบเจ็ค Parameter ด้วยเมธอดCreateParameter
เพิ่มออบเจ็ค Parameter ให้กับคอลเล็คชั่นParameters ด้วยเมธอด Append
สรุป
วิธีสร้างและใช้งานเทเบิล USysRibbon
ขั้นที่ 1 สร้าง Table ระบบชื่อ USysRibbons
ขั้นที่ 2 แสดงชื่อ USysRibbonsใน Navigation pane
ขั้นที่ 3 เปิดใช้ USysRibbonsในมุมมอง Datasheet
ขั้นที่ 4 ทดสอบการทำงานของโค้ด XML
วิธีใช้งานโปรแกรม Custom UI Editor
วิธียกเลิกการใช้งาน Ribbon ใหม่
ยกเลิกการใช้ Ribbon ใหม่ระดับโปรแกรม
ยกเลิกการใช้ Ribbon ใหม่ในออบเจ็ค Form/Report
สร้างแท็บและกลุ่มคำสั่ง
ทำความเข้าใจกับตัวอย่างโค้ด XML
สร้างปุ่มคำสั่ง
สร้างปุ่มคำสั่งจากคำสั่งของ Access
ดูชื่อ (ID) ของคำสั่ง built-inจากไดอะล็อกบ็อกซ์ Access Options
ดูชื่อ (ID) ของคำสั่งจากไฟล์MsoImageBrowser
เลือกไฟล์รูปภาพมาใส่บนปุ่มคำสั่ง
สร้าง CheckBox
สร้าง ComboBox
สร้างเมนูแบบลำดับชั้น (Pulldown menu)
สร้างเส้นคั่นคำสั่งในกลุ่มเดียวกัน
รวมโค้ด XML ทั้งหมดเพื่อสร้าง Ribbon เดียว
ใส่หมายเหตุในโค้ด XML
สร้างทูลบาร์ Quick Access บน Ribbon ใหม่
ซ่อนคำสั่งในแท็บ File
สรุป
การสร้างข้อความแบบกะพริบ (Blinking Text)
การทำงานของโปรแกรม
การสร้าง Splash screen
การทำงานของโปรแกรม
การทำข้อความวิ่ง (Scrolling Text)
การทำงานของโปรแกรม
การทำภาพเคลื่อนไหวในฟอร์ม
คอนโทรล Web Browser
ActiveX Microsoft Web Browser
เขียนโปรแกรมแสดงภาพทีละเฟรม
การทำงานของโปรแกรม
สรุป
ฟังก์ชั่น Windows API คืออะไร
ประโยชน์ของการใช้ฟังก์ชั่น API
ข้อดีของการใช้งานไฟล์ .dll
วิธีประกาศฟังก์ชั่น API
ประกาศแบบฟังก์ชั่น
ประกาศแบบโพรซีเจอร์
รูปแบบการใช้อาร์กิวเมนต์ในฟังก์ชั่น API
ตัวอย่างการใช้งานฟังก์ชั่น Win API บางตัว
ฟังก์ชั่น BringWindowToTop
ฟังก์ชั่น GetComputerName
ฟังก์ชั่น GetUserName
ฟังก์ชั่น GetVersionEx
ฟังก์ชั่น GetSystemDirectory
ฟังก์ชั่น GetDiskFreeSpaceEx
ฟังก์ชั่น GetCursorPos
ฟังก์ชั่น MoveFile
ฟังก์ชั่น RemoveDirectory
สรุป
กลุ่มออบเจ็คที่ใช้งานโดยผู้ดูแลระบบ
เทเบิลเก็บรหัสผู้ใช้ ชื่อผู้ใช้ รหัสผ่านและสิทธิ์ในการใช้งานฐานข้อมูล
ฟอร์ม adm_Welcome
ฟอร์ม adm_frmLogin
ฟอร์ม LogInSuccess
ฟอร์ม adm_frmChangePW
โมดูล adm_modPermissions
กลุ่มออบเจ็คที่ใช้งานโดยผู้ใช้ทั่วไป
เทเบิล use_tblEmployees
ฟอร์ม use_frmEmployees
สร้าง CustomRibbonเพื่อซ่อนกลุ่มคำสั่ง Views ของแท็บ Home
กำหนดฟอร์มเริ่มต้นของฐานข้อมูล
ทดสอบการใช้งานของโปรแกรมทั้งหมด
สรุป
ออบเจ็คคืออะไร
ประโยชน์ของการเขียนโปรแกรมเชิงวัตถุ
สร้างคลาสโมดูลแบบง่ายๆ
สร้างฟอร์มทดสอบการทำงาน
สร้างเมธอดให้กับคลาส
การทำงานของโปรแกรม
สร้างพร็อพเพอร์ตี้ของคลาสด้วยProperty Procedure
Property Let
Property Get
ทดสอบการทำงาน
สรุป