Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

คุณสามารถใช้ Access เป็นแอปพลิเคชัน Front-End แล้วลิงก์ไปยังตารางในเซิร์ฟเวอร์ส่วนหลัง เช่น SQL Server ตามค่าเริ่มต้น คิวรีส่วนใหญ่จะทํางานภายในในกลไกจัดการฐานข้อมูล Access ACE ในบางกรณี Access สามารถเรียกใช้คิวรีจากระยะไกลบน SQL Server ได้ ทั้งนี้ขึ้นอยู่กับไวยากรณ์ของ SQL และปัจจัยอื่นๆ สําหรับข้อมูลเพิ่มเติม ให้ดู "JET Database Engine เวอร์ชัน 3.0: การเชื่อมต่อ ODBC" ในเอกสารไวท์เปเปอร์ JET และ ODBC ที่ค้นหาใหม่

อย่างไรก็ตาม คุณต้องการเรียกใช้คิวรีบนเซิร์ฟเวอร์ฐานข้อมูลอย่างชัดเจน คุณทําเช่นนี้เพื่อช่วยปรับปรุงประสิทธิภาพการทํางาน: เซิร์ฟเวอร์ฐานข้อมูลมีพลังการประมวลผลมากกว่าคอมพิวเตอร์เดสก์ท็อป และคุณสามารถส่งกลับชุดย่อยของข้อมูลที่มีขนาดเล็กกว่าผ่านการเชื่อมต่อเครือข่าย เมื่อต้องการเรียกใช้คิวรีบนเซิร์ฟเวอร์ฐานข้อมูล ให้ใช้ คิวรีแบบพาส-ทรู ซึ่งเป็นคําสั่ง Transact SQL (TSQL) ที่เชื่อมต่อกับ SQL Server โดยใช้สตริงการเชื่อมต่อ ODBC ตัวอย่างเช่น คุณสามารถส่งคําสั่ง SELECT เพื่อส่งกลับข้อมูลไปยังแผ่นข้อมูล ฟอร์ม รายงาน หรือตัวควบคุมรายการ เรียกใช้คิวรีแอคชันที่เทียบเท่ากัน (คําสั่ง Data Manipulation Language (DML), กระบวนงานที่เก็บไว้ของการโทร และดําเนินงานด้านการดูแลระบบ (คําสั่ง Data Definition Language (DDL))

หมายเหตุ    ผลลัพธ์ของคิวรีแบบพาส-ทรูเป็นแบบอ่านอย่างเดียว เมื่อต้องการแก้ไขข้อมูลในแผ่นข้อมูลหรือฟอร์มโดยตรง ให้สร้างตารางที่ลิงก์ไปยังมุมมองที่มีการทําดัชนี สําหรับข้อมูลเพิ่มเติม ให้ดูที่ สร้างมุมมองที่มีการทําดัชนี

  1. เชื่อมต่อกับฐานข้อมูลเซิร์ฟเวอร์

    สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการลิงก์ไปยัง SQL Server ให้ดู นําเข้าหรือลิงก์ไปยังข้อมูลในฐานข้อมูล SQL Server และ ลิงก์หรือนําเข้าข้อมูลจากฐานข้อมูล Azure SQL Server

  2. เลือก สร้าง > ออกแบบคิวรี

  3. ถ้าจําเป็น ให้ปิดกล่องโต้ตอบ เพิ่มตาราง (แสดงตาราง ใน Access

  4. เลือก ออกแบบ >พาส-ทรู

    Access จะซ่อนตารางออกแบบคิวรีและแสดงมุมมอง SQL

  5. ถ้าแผ่นคุณสมบัติของคิวรีไม่ปรากฏ ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ

  6. บนแผ่นคุณสมบัติ ให้คลิกกล่องคุณสมบัติ ODBC Connect Str แล้วเลือกทําอย่างใดอย่างหนึ่งต่อไปนี้:

    เมื่อต้องการรับสตริงการเชื่อมต่อ:

    1. ในบานหน้าต่างนําทาง ให้คลิกขวาที่ตารางที่ลิงก์ไปยังแหล่งข้อมูลที่ต้องการ แล้วเลือก ตัวจัดการตารางที่ลิงก์

    2. ในกล่องโต้ตอบ ตัวจัดการตารางที่ลิงก์ ให้เลือกกล่องกาเครื่องหมายของแหล่งข้อมูล แล้วเลือก แก้ไข

    3. ในกล่องโต้ตอบ แก้ไขลิงก์ ให้คัดลอกข้อความในกล่อง สตริงการเชื่อมต่อ

    1. เลือก ปุ่มตัวสร้างรุ่น

    2. ทําตามพร้อมท์เพื่อสร้างไฟล์ DSN ที่มีข้อมูลสตริงการเชื่อมต่อ สําหรับขั้นตอนโดยละเอียด ให้ดู นําเข้าหรือลิงก์ไปยังข้อมูลในฐานข้อมูล SQL Server และ ลิงก์หรือนําเข้าข้อมูลจากฐานข้อมูล Azure SQL Server

    หลังจากที่คุณสร้างการเชื่อมต่อไฟล์ DSN สตริงการเชื่อมต่อ ODBC จะถูกจัดเก็บภายในฐานข้อมูล Access ของคุณ ต่อไปนี้คือเคล็ดลับในการรับสําเนาของสตริงนั้น:

    1. ค้นหาชื่อตารางที่ลิงก์ในบานหน้าต่างนําทางโดยใช้การเชื่อมต่อ ODBC ที่คุณต้องการ

    2. กด Ctrl+G เพื่อเปิดหน้าต่าง VBA Immediate

    3. ป้อน: รหัสต่อไปนี้:

      ?CurrentDb.TableDefs("<table name>").Connect

      แต่ใช้แทนชื่อตาราง <> ชื่อตารางที่ลิงก์จากขั้นตอน a

    4. คัดลอกสตริงที่ส่งกลับไปยังคุณสมบัติ ODBC Connect Str

  7. ใส่คิวรีของคุณในมุมมอง SQL

    หมายเหตุ: มีความแตกต่างที่สําคัญระหว่าง Access SQL และ SQL Server TSQL โดยเฉพาะกับไวยากรณ์ ชื่อฟังก์ชัน และอาร์กิวเมนต์ของฟังก์ชัน สำหรับข้อมูลเพิ่มเติม ให้ดู การเปรียบเทียบ Access SQL กับ SQL Server TSQL

    เคล็ดลับ    สร้างคิวรี TSQL ใน SQL Server Management Studio ก่อน แล้วคัดลอกและวาง SQL ลงในมุมมอง SQL การทําเช่นนี้จะทําให้แน่ใจได้ว่าคิวรีมีไวยากรณ์ที่ถูกต้อง ถ้าคุณไม่มีการเข้าถึงฐานข้อมูล SQL Server ที่สะดวก ให้พิจารณาติดตั้ง Microsoft SQL Server Express รุ่น บนเดสก์ท็อปของคุณที่รองรับขนาดสูงสุด 10 GB และเป็นวิธีใช้งานฟรีและง่ายกว่าและตรวจสอบการโยกย้ายของคุณ

  8. พิจารณาการตั้งค่าคุณสมบัติที่เกี่ยวข้องเพิ่มเติม:

    • ส่งกลับระเบียน     คําสั่ง SQL บางคําสั่งจะส่งกลับระเบียน เช่น SELECT และบางคําสั่งจะไม่ส่งกลับระเบียน เช่น UPDATE ถ้าคิวรีส่งกลับระเบียน ให้ตั้งค่าคุณสมบัตินี้เป็น ใช่ แต่ถ้าคิวรีส่งกลับระเบียน ให้ตั้งค่าคุณสมบัตินี้เป็น ใช่ ถ้าคิวรีไม่ส่งกลับระเบียน ให้ตั้งค่าคุณสมบัตินี้เป็น ไม่ใช่

      หมายเหตุ    คิวรีแบบพาส-ทรูสามารถส่งกลับชุดผลลัพธ์ได้หลายชุด แต่ในแผ่นข้อมูล ฟอร์ม รายงาน หรือตัวแปรชุดระเบียน จะใช้เฉพาะชุดผลลัพธ์แรกเท่านั้น เมื่อต้องการเรียกใช้ชุดผลลัพธ์หลายชุด ให้ใช้ คิวรีแบบใช้สร้างตาราง ตามตัวอย่างต่อไปนี้ที่แสดง:

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      คุณต้องใช้เครื่องหมายดอกจัน (*) เนื่องจากแต่ละชุดผลลัพธ์อาจมีคอลัมน์ที่ต่างกัน ชุดผลลัพธ์แต่ละชุดจะถูกบันทึกในตารางแยกกัน และตัวเลขจะถูกผนวกเข้ากับชื่อตารางภายในเครื่อง ตัวอย่างเช่น ถ้าส่งกลับชุดผลลัพธ์สามชุด ชื่อตารางจะเป็น: <ชื่อตารางภายในเครื่อง> <ชื่อตารางภายในเครื่อง>1 <ชื่อตารางภายในเครื่อง>2

    • ข้อความบันทึก    ระบุว่าจะส่งกลับข้อความจากฐานข้อมูล SQL ในตารางข้อความของ Access หรือไม่ ชื่อตารางมีรูปแบบ ชื่อผู้ใช้ - nn โดยชื่อผู้ใช้คือชื่อในการลงชื่อเข้าใช้สําหรับผู้ใช้ปัจจุบัน และ nn คือตัวเลขที่เริ่มต้นที่ 00

    • การหมดเวลาของ ODBC    ระบุจํานวนวินาทีที่จะรอก่อนที่ข้อผิดพลาดการหมดเวลาจะเกิดขึ้นเมื่อมีการเรียกใช้แบบสอบถาม ค่าเริ่มต้นคือ 60 วินาที อาจมีความล่าช้าเนื่องจากการรับส่งข้อมูลบนเครือข่ายหรือการใช้งานเซิร์ฟเวอร์ฐานข้อมูลจํานวนมาก

    • ระเบียนสูงสุด    ระบุจํานวนสูงสุดของระเบียนที่จะส่งกลับ คุณอาจมีทรัพยากรระบบที่จํากัด หรือคุณต้องการทดสอบผลลัพธ์ของคุณด้วยข้อมูลเพียงเล็กน้อย

  9. เมื่อคุณใส่คิวรีเสร็จแล้ว ให้เลือก ออกแบบ > เรียกใช้ แบบสอบถามของคุณจะถูกส่งไปยังเซิร์ฟเวอร์ฐานข้อมูลสําหรับการประมวลผล

ดูเพิ่มเติม

Transact-SQL Reference

คิวรีที่มี Transact-SQL

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย