ข้ามไปที่เนื้อหาหลัก
Office
การสร้างคิวรีแบบพาส-ทรู

การสร้างคิวรีแบบพาส-ทรู

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

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

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

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

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

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

  3. ปิดกล่องโต้ตอบ แสดงตาราง

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      แต่แทนที่สำหรับชื่อตาราง <> ชื่อตารางที่เชื่อมโยงจากขั้นตอน a

    4. คัดลอกสตริงที่ส่งกลับไปยังคุณสมบัติการเชื่อมต่อของ ODBC

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

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

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

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

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

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

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

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

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

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

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

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

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

ดูเพิ่มเติม

อ้างอิง TRANSACT SQL

ถามด้วย TRANSACT SQL

ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×