วันพฤหัสบดีที่ 18 กุมภาพันธ์ พ.ศ. 2564

ดึงข้อมูลจาก access ไป excel (เอ็กเซล)..การเชื่อมต่อฐานข้อมูลด้วย Microsoft Access บน Excel

 

ดึงข้อมูลจาก access ไป excel (เอ็กเซล)..การเชื่อมต่อฐานข้อมูลด้วย Microsoft Access บน Excel

การดึงข้อมูลจากภายนอกมาใช้ในเอ็กเซล (Excel)  ความสามารถนี้อยู่ในแท็บ Data ซึ่งเอ็กเซล สามารถดึงข้อมูลชนิดต่างๆได้มากมาย เช่น ดึงไฟล์ฐานข้อมูลจากโปรแกรมฐานข้อมูลอย่างเช่น Microsoft Access, SQL, ดึงเท็กซ์ไฟล์, ดึงรายชื่อไฟล์ที่อยู่ในโฟลเดอร์, XML,JSON ดึงข้อมูลจากเว็บไซต์,จากฐานข้อมูล Oracle, ดึงข้อมูลจาก SHAREPOINT ฯลฯ

บทความนี้เราจะสอนเรื่องการดึงข้อมูลจากฐานข้อมูลที่สร้างด้วย Microsoft Access กันครับ

เพื่อจะสาธิตการทำงานนี้ เราจะต้องมีฐานข้อมูลที่สร้างด้วย Microsoft Access เตรียมไว้ในเครื่องของเราด้วยนะครับ..

แต่ถ้าใครไม่มีก็สามารถหาโหลดไฟล์ฐานข้อมูลที่สร้างจาก Access มาใช้ก้ได้ครับ..แต่ถ้าอยากใช้ฐานข้อมูลฟรีที่อยู่ในเครื่อง ก็ลองค้นหาดูในเครื่องของเราได้เลยครับ มันจะมีฐานข้อมูลของ Microsoft ที่มาพร้อมกับ Microsoft office ที่ชื่อว่า Northwind.mdb, หรือ Northwind.accdb เลือกอันใดอันหนึ่งมาใช้ได้ครับ

สำหรับมือใหม่ที่ไม่รู้จักว่า Microsoft Access คืออะไร ผมจะอธิบายให้ฟังคร่าวๆ ดังนี้ครับ

Microsoft Access เป็นโปรแกรมสำหรับสร้างฐานข้อมูลของ Microsoft ครับ..ซึ่งฐานข้อมูลก็อยู่ในรูปแบบของตาราง เช่น

 ฐานข้อมูลนักเรียน ประกอบไปด้วย ชื่อ, นามสกุล, ห้องเรียน,อายุ ระดับชั้นเรียน,วิชา,คณะที่เรียน  อะไรประมาณนี้ครับ ซึ่งถูกบันทึกอยู่ในรูปแบบตาราง เราสารถสร้างตารางฐานข้อมูลนี้ได้ใน Microsoft Access เพื่อเก็บข้อมูลนักเรียนไว้นั่นเองครับ



จากภาพด้านบนเป็นตารางที่ชื่อว่า Students ซึ่งอยู่ในฐานข้อมูลที่ชื่อว่า Database1 ...โดยใน Students ประกอบไปด้วย Last Name, First Name, E-mail Address, StudentID, Level, Room เป็นต้น

อย่างที่บอกไป เราต้องการจะดึงฐานข้อมูลที่บันทึกไว้ใน ตาราง Students ไปแสดงที่ Sheet ของ Excel เราจะทำอย่างนี้ได้ เราต้องทำการเชื่อมต่อ Excel กับฐานข้อมูล Database1 ก่อน เพราะ Database1 มีตาราง Students อยู่ข้างใน

การเชื่อมต่อไปยังฐานข้อมูล Database1 ที่สร้างด้วย Microsoft Excel ให้ทำผ่านโปรแกรม Excel (เอ็กเซล) ดังนี้

1.    เปิด Microsoft Excel ขึ้นมา ในตัวอย่างนี้ใช้ Microsoft Excel 2019

2.    ให้เราคลิ้กที่แท็บ Data แล้วคลิ้กที่ Get Data, From Database, From Microsoft Access Database ดังภาพด้านล่างนี้



3.    กล่องโต้ตอบ Import Data จะปรากฏขึ้นมา ให้เราค้นหาที่เก็บฐานข้อมูลของเรา (ไฟล์จะมีนามสกุล .mdb,.accdb เป็นต้น) ในตัวอย่างนี้ฐานข้อมูลชื่อ Database1 คลิ้กเลือกฐานข้อมุลนี้แล้วกด Import ดังภาพด้านล่างนี้




4.    หน้าต่าง Navigator จะปรากฏขึ้นมา ด้านซ้ายมือให้เราคลิ้กที่ ตาราง Students ด้านขวามือจะแสดงรายละเอียดข้อมุลที่อยู่ในตาราง Students...ให้เราคลิ้กที่ลูกศรสีดำเล็กๆข้างๆคำว่า Load แล้วคลิ้กที่ Load to… ดังภาพด้านล่างนี้



 

5.    กล่องโต้ตอบ Import Data จะปรากฏขึ้น..ให้คลิ้กเลือกที่ Table แล้วกด Ok ตามภาพด้านล่างนี้



 

6.    ผลลัพธ์ที่ได้ข้อมูลนักศึกษาที่อยู่ใน ตาราง Students จะถูกดึงเข้ามาแสดงใน worksheet ...แต่เราจะเห็นว่า Last Name อยู่ก่อน First Name ดังภาพด้านล่างนี้





7.    เราจะทำการสลับ first name กับ last name กัน..โดยจะให้ First name แสดงก่อน last name ให้เราทำดังนี้..ที่ด้านขวามือให้เราดับเบิ้ลคลิ้กที่ Students ที่อยู่ในส่วนของ Queries & Connections ดังภาพด้านล่างนี้




เมื่อดับเบิ้ลคลิ้กที่
Students แล้ว หน้าต่าง Students – Power Query Editor จะปรากฏขึ้นมา ...ให้เราคลิ้กที่ First Name กดเม้าส์ค้างไว้แล้วลากไปปล่อยบน Last Name ดังภาพด้านล่างนี้




ผลลัพธ์ที่ได้หลังจากปล่อยเม้าส์ คือ First Name จะอยู่ก่อน Last Name ดังภาพด้านล่างนี้



และเมื่อเรากดที่ปุ่ม Close & Load ที่มุมซ้ายบนแล้ว ผลลัพธ์ที่ Worksheet ของ Excel ก็จะมีการสลับตำแหน่ง Fist Name กับ Last Name ด้วย ดังภาพด้านล่างนี้



 

ถ้าในฐานข้อมูล Database1 มีการเปลี่ยนแปลง เช่นมีข้อมูลเพิ่มขึ้น หรือมีการแก้ไข ที่ worksheet excel ก็จะมีการอัพเดทให้ด้วย .. เราสามารถตั้งค่าให้ Worksheet รีเฟรช หรืออัพเดทอัตโนมัติได้ โดยให้ ดับเบิ้ลคลิ้กที่ Students ที่อยู่ขวามือ (ตรง Queries & Connections) แล้วกำหนดค่าว่าจะให้ อัพเดททุกๆกี่นาที กำหนดตรงช่อง Refresh every
ดังภาพด้านล่างนี้




ที่แท็บ Definition จะอธิบายถึงวิธีการเชื่อมต่อ และการใช้คำสั่ง SQL ในการดึงข้อมูลจากฐานข้อมูล Database1 จากตาราง Students มาใช้โดยใช้คำสั่ง SELECT*From[Students] ซึ่งอยู่ในช่อง Command text , คำสั่งที่ใช้ในการเชื่อมต่อจะอยู่ในช่อง Connection string ชนิดของคำสั่งที่ใช้ในการเชื่อมต่อและดึงข้อมูล คือ ภาษา SQL อยู่ในช่อง Command type ...เนื่องจากเราเชื่อมต่อและดึงข้อมูลผ่าน Getdata ที่อยู่ในแท็บ Data เราจึงไม่ต้องพิมพ์คำสั่งเหล่านี้เอง แต่ถ้าหากต้องการแก้ไขการเชื่อมต่อ และเขียนคำสั่ง sql ในการดึงข้อมูลใหม่ (ต้องการเขียนเอง) ให้เราคลิ้กที่ปุ่ม Edit Query… ดังภาพด้านล่างนี้



 

หน้าต่าง Power Query Editor จะปรากฏขึ้นมา จากนั้นให้คลิ้กที่ Advance Editor เพื่อเขียนคำสั่งการเชื่อมต่อ และดึงข้อมูลจากตารางด้วยภาษา SQL ด้วยตนเอง



 

หน้าต่าง Advanced Editor จะปรากฏขึ้น..ซึ่งเป็นหน้าต่างเขียนคำสั่งด้วยภาษา SQL อย่างที่ได้กล่าวไปแล้วนั้น ในหน้าต่างนี้จะมีการเช็คไวยากรณ์ของภาษให้เราด้วย ตามภาพด้านล่างเลยครับ



เมื่อแก้ไขโค้ดเสร็จแล้วก็กด ปุ่ม Done เป็นอันเสร็จสิ้น ที่ Worksheet excel ก็จะได้ผลลัพธ์ตามโค้ดที่เราเขียน

 

ที่แท็บ Used in เป็นการแสดงรายละเอียดว่า การเชื่อมต่อข้อมูลและดึงข้อมูลจากตารางในฐานข้อมูลมาแสดงถูกนำไปแสดงที่ sheet ไหน บน Worksheet ของ Excel จากภาพด้านล่าง ข้อมูลในตาราง Students ถูกดึงมาแสดงไว้ใน Sheet ที่ชื่อว่า Student(4), Name= Students (ตาราง Students นั่นเอง), Location = $A$1:$G$4 (ข้อมูลถูกนำมาแสดงใน เซลล์ A1 ถึง G4 เป็นต้นไป



 

เพิ่มเติมอีกนิดนะครับ...ถ้าเราอยากให้ฐานข้อมูลอัพเดทโดยการสั่งงานด้วยตัวเอง เราสามารถกด คีย์ลัด Ctrl+Alt+F5 ที่คีย์บอร์ด หรือกดปุ่ม refresh all ที่อยู่ในแท็บ Data ก็ได้ครับ ตามภาพด้านล่างนี้



ผลที่ได้คือที่ worksheet ที่มีการเชื่อมต่อกับฐานข้อมูลจะดึงข้อมูลจากฐานข้อมูล (ข้อมูลที่อัพเดทใหม่ล่าสุดในตารางฐานข้อมูล)มาแสดงในเซลล์ที่ต้องการทันที..อัพเดทแบบแมนนวล กดเองด้วยมือเรา ไม่ต้องรอเอ็กเซลอัพเดทอัติโนมัติ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

ทันข่าว

บทความแนะนำ

ผักขี้หูด “วาซาบิเมืองไทย” ยอดอ่อน ฝักอ่อน ลวกกินกับน้ำพริกช่วยละลายนิ่ว แก้อาหารไม่ย่อย

  ผักขี้หูด “วาซาบิเมืองไทย” ยอดอ่อน ฝักอ่อน ลวกกินกับน้ำพริกช่วยละลายนิ่ว แก้อาหารไม่ย่อย   “ผักขี้หูด”   ไชโป้วหางหนู ถูกพบมากที่สุดในอ...

บทความยอดนิยม