เริ่มเรียน MS Access ควรอ่านอะไรตามลำดับ

เส้นทางเริ่มเรียน MS Access

บทความนี้รวมเส้นทางเริ่มเรียน MS Access ตั้งแต่ศูนย์ ว่าควรอ่านอะไรก่อน-หลัง เพราะหลายท่านเข้ามาที่เว็บแล้วอาจจะงงนิดหน่อยว่า "แล้วจะเริ่มอ่านตรงไหนก่อนดี?" บทความในเว็บนี้มีทั้งเรื่องฐานข้อมูล, ตาราง, Query, Form, Report, VBA และก็มี Workshop ปน ๆ กันอยู่

จริง ๆ แล้วการเริ่มเรียน MS Access ผมว่าไม่ควรเริ่มจากการเปิดโปรแกรมแล้วกดสร้างฟอร์มทันทีนะครับ เพราะถ้าเราไม่เข้าใจเรื่องข้อมูลก่อน สุดท้ายเราจะสร้างโปรแกรมที่หน้าตาดูเหมือนใช้งานได้ แต่พอข้อมูลเริ่มเยอะ เริ่มแก้ไข เริ่มทำรายงาน ปัญหาจะตามมาเป็นขบวนเลย

บทความนี้เลยขอทำหน้าที่เป็นแผนที่เล็ก ๆ ว่าถ้าจะเริ่มเรียน Access จากศูนย์ หรือเคยใช้มาบ้างแต่ยังจับทางไม่ถูก ควรอ่านและฝึกตามลำดับประมาณไหน

ถ้าอยากเห็นภาพรวมก่อน ลำดับใหญ่ ๆ จะประมาณนี้ครับ

  • เข้าใจก่อนว่า Access เอาไว้ทำอะไร
  • เข้าใจข้อมูลและฐานข้อมูล
  • อ่าน E-R, Key และ Normalization แบบพอใช้จริง
  • เริ่ม Table, Query, Form, Report
  • ค่อยแตะ VBA เมื่อเริ่มต้อง automate งาน

1. เริ่มจากเข้าใจก่อนว่า Access เอาไว้ทำอะไร

ก่อนอื่นต้องตอบตัวเองให้ได้ก่อนว่าเราจะใช้ Access ทำงานแนวไหน

ถ้าเป็นงานที่มีข้อมูลซ้ำ ๆ ต้องกรอกทุกวัน ต้องค้นหา ต้องสรุปรายงาน หรือมีหลายตารางที่เกี่ยวข้องกัน Access จะเริ่มน่าสนใจขึ้นมาทันทีครับ

ตัวอย่างเช่น

  • เก็บข้อมูลลูกค้า
  • เก็บรายการขาย
  • ทำใบเสนอราคา/ใบเสร็จ
  • เก็บข้อมูลพนักงาน
  • ทำรายงานสรุปยอด
  • ทำระบบเล็ก ๆ ให้แผนกใช้กันเอง

ถ้ายังไม่เคยอ่าน ผมแนะนำให้อ่านบทความเก่าก่อนครับ: ใช้ Access ทำอะไรได้บ้าง?

2. เข้าใจคำว่า "ข้อมูล" และ "ฐานข้อมูล"

จุดที่หลายคนพลาดคือคิดว่า Access เหมือน Excel เวอร์ชั่นมีฟอร์ม ซึ่งก็พอพูดได้ในระดับหนึ่ง แต่ถ้าคิดแค่นั้นเราจะออกแบบผิดง่ายมาก

Excel มักเริ่มจาก "ตารางที่เรามองเห็น"

แต่ Access ควรเริ่มจาก "ข้อมูลที่เราต้องการเก็บ" และ "ข้อมูลพวกนั้นสัมพันธ์กันยังไง"

เช่น ถ้าเราจะทำระบบขายของ เราไม่ได้มีแค่ตารางเดียวจบ เราอาจจะมี

  • ตารางลูกค้า
  • ตารางสินค้า
  • ตารางใบสั่งซื้อ
  • ตารางรายการสินค้าในใบสั่งซื้อ

พอมองแบบนี้ เราจะเริ่มเห็นว่า Access ไม่ใช่แค่ที่เก็บข้อมูล แต่เป็นระบบที่ช่วยให้ข้อมูลหลายส่วนทำงานร่วมกันได้

3. อ่านเรื่อง E-R, Key และ Normalization แบบพอใช้จริง

พอเริ่มเข้าใจข้อมูลแล้ว ขั้นต่อไปคือการออกแบบครับ

ผมรู้ว่าเรื่อง E-R Diagram, Primary Key, Foreign Key, Normalization พวกนี้ฟังดูเหมือนทฤษฎีน่าเบื่อมาก แถมชื่อก็ไม่ค่อยเป็นมิตรกับคนเริ่มต้นเท่าไหร่

แต่เชื่อผมเถอะครับ ถ้าเข้าใจแค่พอใช้งานได้ เราจะประหยัดเวลาตอนแก้โปรแกรมไปได้เยอะมาก

ลำดับที่แนะนำคือ

  • ระบบฐานข้อมูลเบื้องต้น
  • E-R (Model + Diagram)
  • Keys
  • Normalization

ไม่จำเป็นต้องจำศัพท์ทุกคำให้เป๊ะ ๆ ครับ เอาแค่ตอบได้ว่า "ตารางนี้เก็บอะไร", "คีย์หลักคืออะไร", "ตารางไหนเชื่อมกับตารางไหน" ก็เริ่มทำงานจริงได้แล้ว

4. ค่อยเริ่ม Table, Query, Form, Report

เมื่อออกแบบคร่าว ๆ ได้แล้ว เราค่อยเข้า Access จริงจังครับ

ลำดับที่ผมแนะนำคือ

  • Table: เก็บข้อมูลให้ถูกที่
  • Query: ดึงข้อมูลที่ต้องการออกมา
  • Form: ทำหน้าจอให้ผู้ใช้กรอกหรือค้นหา
  • Report: ทำรายงานสำหรับพิมพ์หรือส่งต่อ

หลายคนพอสร้าง Table เสร็จแล้วจะอยากกระโดดไปทำ Form ทันที ซึ่งทำได้ครับ แต่ถ้ามองงานจริง Form ที่ดีมักไม่ได้ผูกกับ Table ตรง ๆ เสมอไป บางครั้งเราจะให้ Form ดึงข้อมูลผ่าน Query ก่อน เพื่อกรองข้อมูล รวมข้อมูลจากหลายตาราง หรือจัดรูปข้อมูลให้พร้อมใช้งาน

เพราะฉะนั้นการเข้าใจ Query ก่อนทำ Form จะช่วยให้เราออกแบบหน้าจอได้ง่ายขึ้น ไม่ต้องเอา logic ทุกอย่างไปยัดไว้ในฟอร์มทีหลัง

ถ้าเปรียบเทียบแบบง่าย ๆ Table คือโกดังเก็บของ, Query คือคนหยิบของตามเงื่อนไข, Form คือหน้าเคาน์เตอร์ที่คนใช้งานเห็น, ส่วน Report คือเอกสารสรุปที่เอาไปส่งหัวหน้าหรือลูกค้า

5. แล้วค่อยแตะ VBA

VBA ไม่ใช่สิ่งแรกที่ต้องเรียนครับ

หลายคนเริ่มจาก VBA ก่อน เพราะอยากกดปุ่มแล้วให้โปรแกรมทำอะไรเท่ ๆ ได้ แต่ถ้า Table และ Query ยังไม่ดี ต่อให้เขียน VBA เก่งแค่ไหนก็จะเหนื่อยอยู่ดี

ผมแนะนำว่าให้ใช้ Access แบบไม่เขียนโค้ดก่อน พอเริ่มติดข้อจำกัด เช่น อยากตรวจเงื่อนไขก่อนบันทึก อยากเปิดฟอร์มพร้อม filter อยาก export report เป็น PDF ตอนนั้นค่อยเริ่มแตะ VBA จะเข้าใจง่ายกว่าเยอะครับ

สรุปเส้นทางที่แนะนำ

สรุปสั้น ๆ คือ อย่าเริ่มจาก VBA และอย่าเริ่มจากการทำหน้าจอก่อนข้อมูลครับ ให้เริ่มจากเข้าใจงาน เข้าใจข้อมูล ออกแบบ Table ให้พอใช้ได้ แล้วค่อยต่อด้วย Query, Form, Report และ VBA ตามลำดับ

ไม่ต้องรีบครับ อ่านทีละตอน ทำตามทีละนิด พอทำ Workshop จบสักตัวหนึ่ง ท่านจะเริ่มมอง Access เป็นเครื่องมือสร้างระบบงาน ไม่ใช่แค่โปรแกรมหนึ่งในชุด Office แล้วครับ ^^

บทความที่เกี่ยวข้อง

คำถามที่พบบ่อย

ใช้เวลานานแค่ไหนถึงจะใช้ MS Access ทำงานจริงได้

ถ้าตั้งใจอ่านและทำตามลำดับนี้ คนทั่วไปใช้เวลาประมาณ 2 ถึง 4 สัปดาห์ก็เริ่มทำระบบเล็ก ๆ ของตัวเองได้ ส่วน VBA จะตามมาอีกระยะหนึ่งเมื่อเริ่มเจอข้อจำกัดของ Form กับ Query

ต้องมีพื้นฐานเขียนโปรแกรมก่อนไหม

ไม่จำเป็นในช่วงต้น Table Query Form Report ใช้ได้โดยไม่ต้องเขียนโค้ดเลย พอเริ่มต้องการ business logic ที่ Form/Query ทำไม่ได้ค่อยขยับมาเรียน VBA

Access ต่างกับ Excel ยังไง ทำไมต้องเรียนอันใหม่

Excel เริ่มจากตารางที่มองเห็น Access เริ่มจากการออกแบบโครงข้อมูล ทำให้รองรับข้อมูลที่เยอะขึ้น ลดข้อมูลซ้ำ และดูแลระยะยาวง่ายกว่า เหมาะกับงานที่มี Form กรอกซ้ำ ๆ และต้องการรายงานเป็นประจำ

ต้องเรียน ER Diagram และ Normalization จริงจังแค่ไหน

พอใช้งานได้ก็พอครับ ตอบให้ได้ว่าตารางไหนเก็บอะไร Primary Key คืออะไร ตารางไหนเชื่อมกับตารางไหน เท่านี้ก็พอออกแบบระบบจริงได้ ไม่จำเป็นต้องท่องนิยามทุกข้อ

บทความที่เกี่ยวข้องกัน: