Power Queryดึงข้อมูลจากไฟล์ MS Access ที่มี Password

Get data form acess to Excel with PowerQuery
Power Query ใน Excel สามารถใช้เพื่อดึงข้อมูลจากไฟล์ MS Access ที่มีการป้องกันด้วยรหัสผ่านได้ แต่โดยปกติแล้วจะต้องใช้วิธีการเชื่อมต่อแบบ ODBC (Open Database Connectivity) แทนการใช้ตัวเชื่อมต่อ MS Access โดยตรงของ Power Query (ซึ่งไม่รองรับรหัสผ่าน)

🔑 วิธีการใช้Power Queryดึงข้อมูลจากไฟล์ MS Access ที่มี Password


  1. สร้างการเชื่อมต่อ ODBC DSN (Data Source Name)
  2. ใช้ Power Query เชื่อมต่อผ่าน ODBC
    1. ใน Excel ให้ไปที่แท็บ Data > Get Data > From Other Sources > From ODBC
    1. เลือก DSN ที่สร้างไว้ในขั้นตอนแรก
    1. Power Query ควรจะ แสดงหน้าต่างให้ป้อนข้อมูลรับรอง (Credentials)
      1. สำคัญ: แม้ว่าฐานข้อมูล Access อาจจะไม่ได้ใช้ชื่อผู้ใช้ (User ID) แต่ระบบการเชื่อมต่อ (โดยเฉพาะผ่าน ODBC) อาจบังคับให้ป้อน User ID
      1. สำหรับฐานข้อมูล Access ที่ตั้งค่ารหัสผ่านเท่านั้น (ไม่มี User-Level Security) มักจะต้องใส่ค่า ‘Admin’ หรือ สองเครื่องหมายคำพูดเดี่ยว (single quote) เช่น ” (ไม่มีช่องว่างระหว่างกลาง) เป็นชื่อผู้ใช้ (User ID) และใส่รหัสผ่านจริงในช่อง Password
  3. เชื่อมต่อและดึงข้อมูล
    1. เมื่อป้อนข้อมูลรับรองถูกต้อง จะเข้าสู่หน้า Navigator เพื่อเลือกตารางหรือคิวรีจากฐานข้อมูล Access นั้นได้ตามปกติ

⚠️ ข้อควรระวังนการใช้Power Queryดึงข้อมูลจากไฟล์ MS Access ที่มี Password

  • ตัวเชื่อมต่อ Access โดยตรง: โดยทั่วไป ตัวเชื่อมต่อ “From Microsoft Access Database” (ที่อยู่ใน Data > Get Data > From Database) จะไม่รองรับ รหัสผ่านที่ตั้งค่าไว้ในไฟล์ Access โดยตรง
  • ความปลอดภัย: เมื่อตั้งค่าข้อมูลรับรองใน Power Query ข้อมูลนั้นจะถูกเก็บไว้ในระดับเครื่อง (local machine) ของผู้ใช้ เพื่อใช้สำหรับการรีเฟรชข้อมูลในภายหลัง

🛠️ ขั้นตอนสร้างการเชื่อมต่อ ODBC DSN (Data Source Name) เพื่อใช้ Power Queryดึงข้อมูลจากไฟล์ MS Access ที่มี Password

การสร้างการเชื่อมต่อ ODBC DSN (Open Database Connectivity Data Source Name) เป็นขั้นตอนสำคัญในการเชื่อมต่อโปรแกรมภายนอก (เช่น Excel Power Query) กับฐานข้อมูล MS Access (หรือฐานข้อมูลอื่น ๆ) โดยเฉพาะอย่างยิ่งเมื่อฐานข้อมูลมีการป้องกันด้วยรหัสผ่าน

💻 ขั้นตอนที่ 1: เปิด ODBC Data Sources Administrator

  • ใช้โปรแกรม ODBC Data Sources Administrator ซึ่งมี 2 เวอร์ชัน คือ 32-bit และ 64-bit
  • ไปที่ช่องค้นหาของ Windows (Start Menu) และพิมพ์: ODBC Data Sources
    • เลือกโปรแกรม ODBC Data Sources (64-bit) (แนะนำให้เลือกเวอร์ชั่นนี้หาก Excel หรือโปรแกรมที่คุณใช้เป็น 64-bit) หรือ ODBC Data Sources (32-bit) หากโปรแกรมของคุณเป็น 32-bit
set ODBC step1

💾 ขั้นตอนที่ 2: สร้าง DSN ใหม่

  • ในหน้าต่าง ODBC Data Sources Administrator มี 3 ชนิดของ DSN ให้เลือก (3 Tab) ** แนะนำให้ใช้ System DSN เพื่อให้ผู้ใช้ทุกคนบนเครื่องนั้นสามารถเข้าถึงได้
  • ไปที่แท็บ System DSN
  • คลิกปุ่ม Add… (เพิ่ม…)
Set ODBC step 2

🔗 ขั้นตอนที่ 3: เลือก Driver สำหรับ Access

  • ในหน้าต่าง Create New Data Source ที่ปรากฏขึ้น ให้เลื่อนหา Driver สำหรับ Accessเลือก Microsoft Access Driver (*.mdb, *.accdb)
  • คลิก Finish (เสร็จสิ้น)
Set ODBC step 3

⚙️ ขั้นตอนที่ 4: กำหนดค่า DSN (Configuration) หน้าต่าง ODBC Microsoft Access Setup จะปรากฏขึ้นเพื่อตั้งค่า DSN

Set ODBC step 4
  • Data Source Name (ชื่อแหล่งข้อมูล):
    • ป้อนชื่อที่สื่อความหมายสำหรับ DSN นี้ เช่น: AccessDB_Secret_PQ (นี่คือชื่อที่จะเห็นใน Power Query)
  • Description (คำอธิบาย):
    • ใส่คำอธิบายสั้น ๆ เพื่อช่วยจำ (ไม่บังคับ)
  • Database (ฐานข้อมูล):
    • คลิกปุ่ม Select… (เลือก…) เพื่อเรียกดูและเลือกไฟล์ฐานข้อมูล .accdb หรือ .mdb ของไฟล์ที่ต้องการดึงข้อมูล
    • คลิก OK
  • System Database: การเลือกตำแหน่ง System Database
    • เลือก None (สำหรับฐานข้อมูลส่วนใหญ่)เลือก None (สำหรับฐานข้อมูลส่วนใหญ่)
      • ตัวเลือก None หากฐานข้อมูล Access ของเป็นไฟล์มาตรฐาน .accdb หรือ .mdb ที่เข้ารหัสด้วยรหัสผ่านเท่านั้น และ ไม่ได้ใช้ ไฟล์ Workgroup Information File (.MDW) เพื่อจัดการสิทธิ์การเข้าถึงของผู้ใช้แต่ละคน ฐานข้อมูล Access ในปัจจุบันส่วนใหญ่ (โดยเฉพาะ .accdb) จะใช้รหัสผ่านเพื่อเข้ารหัสไฟล์ทั้งไฟล์ ซึ่งไม่ได้อาศัยการจัดการผู้ใช้ผ่านไฟล์ฐานข้อมูลระบบภายนอก (.MDW)
      • ตัวเลือก Database และระบุไฟล์ Workgroup Information File (.MDW) เลือก Database และระบุพาธไปยังไฟล์ Workgroup Information File (.MDW) เมื่อฐานข้อมูล Access ของถูกกำหนดค่าให้ใช้ User-Level Security (การรักษาความปลอดภัยระดับผู้ใช้) User-Level Security เป็นระบบความปลอดภัยแบบเก่าที่ใช้ใน Access เวอร์ชันก่อนหน้า (ส่วนใหญ่เป็น .mdb) ซึ่งกำหนดสิทธิ์และรหัสผ่านของผู้ใช้แต่ละคน โดยข้อมูลเหล่านี้จะถูกเก็บไว้ในไฟล์ .MDW แยกต่างหาก หากจำเป็นต้องใช้ ให้คลิกปุ่ม System Database แล้วเลือก Database จากนั้นระบุพาธของไฟล์ .MDW นั้น
  • Advanced: การตั้งค่าขั้นสูง เป็นการกำหนด User และ Password
    • ไม่ต้องตั้งค่า จะมีหน้าต่างให้ระบุตอนเรียกใช้ผ่าน Power Query
  • Options: ตั้งค่า Driver
    • ไม่ต้องกำหนด ใช้ค่า Default
Set ODBC step 5

💾 ขั้นตอนที่ 5: คลิก OK เพื่อบันทึก DSN

หลังจากเสร็จสิ้นแล้ว DSN ใหม่ที่คุณสร้างขึ้นจะปรากฏอยู่ในแท็บ System DSN และพร้อมใช้งานใน Excel Power Query


🔑ขั้นตอนในการใช้Power Queryดึงข้อมูลจากไฟล์ MS Access ที่มี Password

ส่วนที่ 1: การตั้งค่า DSN (System DSN)

  • ขั้นตอนนี้จะสมมติว่าได้สร้าง System DSN (64-bit) สำหรับ Microsoft Access Driver เรียบร้อยแล้ว

ส่วนที่ 2: การเชื่อมต่อผ่าน Power Query Editor

  • 1 เปิด Power Query Editor:
    • ใน Excel ไปที่แท็บ Data (ข้อมูล) > Get Data (รับข้อมูล) > From Other Sources (จากแหล่งอื่น) > From ODBC (จาก ODBC)
  • 2 เลือก DSN:
    • ในหน้าต่าง From ODBC ให้คลิกที่เมนู Dropdown
    • เลือกชื่อ System DSN ที่สร้างไว้สำหรับไฟล์ Access นั้น
  • 3 ป้อนรหัสผ่าน (Credentials):
    • หน้าต่าง Access the data source จะปรากฏขึ้นมา
    • นี่คือจุดที่คุณต้องป้อนรหัสผ่านเพื่อให้ ACE Engine ปลดล็อกไฟล์ได้:
      • ช่อง User Name: ใส่ค่า ‘Admin’ หรือ สองเครื่องหมายคำพูดเดี่ยว (single quote) เช่น ” (ไม่มีช่องว่างระหว่างกลาง) เป็นชื่อผู้ใช้ (User ID)
      • ช่อง Password (รหัสผ่าน): ให้ป้อนรหัสผ่าน ที่ใช้ในการเปิดไฟล์ Access ที่กำหนดไว้
    • คลิก Connect (เชื่อมต่อ)
  • 4 เลือกตารางและโหลดข้อมูล:
    • หากรหัสผ่านถูกต้อง Power Query จะเปิดหน้าต่าง Navigator (ตัวนำทาง)
    • คุณสามารถเลือกตารางหรือคิวรีที่คุณต้องการแล้วคลิก Load (โหลด) เพื่อนำข้อมูลเข้าสู่ Excel

การเชื่อมต่อผ่าน ODBC นี้จะทำงานเพราะ Power Query จะส่งรหัสผ่านที่ป้อนเข้าไปในขั้นตอนที่ 3 เป็นส่วนหนึ่งของ Connection String ไปยัง Access Database Engine (ACE) ซึ่งจะทำการตรวจสอบและปลดล็อกไฟล์ให้ในเบื้องหลัง


ขอให้สนุกกับการใช้งาน Excel ทุกวันครับ

Learn Excel With Pichart

Smart Excel For Better LIFE

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *