บทความนี้รวมเส้นทางเริ่มเรียน 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 คืออะไร ตารางไหนเชื่อมกับตารางไหน เท่านี้ก็พอออกแบบระบบจริงได้ ไม่จำเป็นต้องท่องนิยามทุกข้อ
