วิธีการถ่ายโอนข้อมูลจากแหล่งข้อมูล ADO ไปที่ Excel กับ ADO

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 295646 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

เนื่องจาก Microsoft Excel เป็นเช่นเป็นข้อมูลที่มีประสิทธิภาพวิเคราะห์มือ นักพัฒนาโปรแกรมประยุกต์ของ Visual Basic และ VBA มักจะต้องการนำข้อมูลเข้าไปในแผ่นงาน Excel สำหรับวัตถุประสงค์ในการวิเคราะห์ บทความนี้อธิบายวิธีการวัตถุข้อมูล ActiveX (ADO) กับงานนี้โปรแกรม โดยใช้ไวยากรณ์ Microsoft Jet เฉพาะสำหรับบางคำสั่ง SQL

บทความนี้อธิบายถึงวิธีการแก้ไขปัญหาโปรแกรม และไม่ได้อธิบายความสามารถในการนำเข้าข้อมูลซึ่งควบคุมโดยเมนูของ Excel (ผ่านทางการOPENตัวเลือกในการแฟ้ม:เมนู) หรือการใช้แบบสอบถามของ Microsoft (จากนั้นรับข้อมูลจากภายนอกตัวเลือกในการข้อมูลเมนู)

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเขียนโปรแกรมทรานซิสเตอร์คู่ประกอบชนิดที่ทำให้ใช้การทำงานอัตโนมัติ Excel แทนคำสั่ง SQL คลิกหมายเลขบทความด้านล่างนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
246335วิธีการถ่ายโอนข้อมูลจากชุดระเบียน ADO ไปที่ Excel ด้วยการทำงานอัตโนมัติ

ข้อมูลเพิ่มเติม

ในตัวอย่างที่ทำตามcnSrcแสดงการเชื่อมต่อ ADO เปิดอินไปยังตัวอย่าง Northwind Jet ฐานข้อมูลที่ใช้ผู้ที่ Jet 4.0 OLE DB ให้

วิธีการคัดลอก

คุณสามารถใช้คำสั่ง SELECT ลงในการคัดลอกข้อมูลจากทุกแหล่งข้อมูลที่ Jet สามารถอ่าน เป็นปลาย ทางมีข้อมูล การสร้างตารางใหม่ (หรือ ในกรณี ของ Excel แผ่นงานใหม่) ในแบบลอย ไม่สามารถใช้ไวยากรณ์ของเครื่องหมายดอลลาร์ ตัวอย่าง [Sheet1 $], เมื่อคุณอ้างถึงชื่อแผ่นงานเป็นปลายทางของคุณ สมุดงานปลายทางสามารถมีอยู่ หรือไม่มี อย่างไรก็ตาม แผ่นงานปลายทางต้องไม่มีอยู่ได้

มีสามวิธีในการเขียนคำสั่งคัดลอกที่คัดลอกตารางลูกค้าทั้งหมดจากฐานข้อมูล Microsoft Access Northwind ลงในแผ่นงานใหม่ในสมุดงาน Excel ไวยากรณ์ของแต่ละคำสั่ง SQL แบบเดี่ยวที่จำเป็นต้องใช้ และสร้างส่วนหัวของคอลัมน์ในแถวแรกของแผ่นงานปลายทาง
  • ตัวอย่างต่อไปนี้ใช้ไวยากรณ์ SELECT ลงใน:
    Dim strSQL As String
    strSQL = "SELECT * INTO [Excel 8.0;Database=" & App.Path & _ 
        "\book1.xls].[Sheet1] FROM Customers"
    cnSrc.Execute strSQL
    					
  • ตัวอย่างต่อไปนี้ใช้ไวยากรณ์ SELECT เข้า... IN:
    strSQL = "SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] FROM Customers"
    						
    โดยที่ฐานข้อมูลปลายทาง bracketed อยู่ก่อนหน้า โดยคู่ว่างของการอ้างอิงเดียวสำหรับการชนิดอาร์กิวเมนต์ ("Excel 8.0" ส่วน), ซึ่งมีอยู่ภายในวงเล็บเมื่อคุณใช้รูปแบบนี้
  • ตัวอย่างต่อไปนี้ใช้ไวยากรณ์อื่นสำหรับอนุประโยคของ IN:
    strSQL = "SELECT * INTO [Sheet1] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' FROM Customers"
    						
    ซึ่งอาร์กิวเมนต์ชนิดอยู่ในขณะนี้รายการแยกต่างหากหลังจากเส้นทางของแฟ้มปลายทาง

วิธีการผนวก

คุณสามารถใช้คำสั่งแทรกลงใน... IN ผนวกข้อมูลจากทุกแหล่งข้อมูลที่ Jet สามารถอ่านเป็นปลายทางข้อมูลใด ๆ ทั้งสมุดงานปลายทางและแผ่นงานต้องมีอยู่ หลังจากที่คุณอ้างอิงไปยังแผ่นงานที่มีอยู่ คุณต้องใช้เครื่องหมายดอลลาร์มาตรฐานไวยากรณ์ ตัวอย่างเช่น, [Sheet1 $], เมื่อคุณอ้างถึงชื่อแผ่นงานเป็นปลายทางของคุณ นอกจากนี้ ส่วนหัวของคอลัมน์แล้วต้องแสดง ในอย่างอื่น คำสั่งนี้สามารถใช้เท่านั้นเมื่อต้องการผนวกเข้ากับตารางมีอยู่แล้ว

มีสองวิธีในการเขียนคำสั่งผนวกที่คัดลอกตารางลูกค้าทั้งหมดจากฐานข้อมูล Northwind ลงในแผ่นที่มีอยู่งาน Excel ซึ่งมีส่วนหัวของคอลัมน์ที่เหมาะสม
  • ตัวอย่างต่อไปนี้ใช้ไวยากรณ์ใส่เข้าไปใน... IN:
    strSQL = "INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] SELECT * FROM Customers"
    						
    ที่ฐานข้อมูลปลายทาง bracketed เป็นอีกครั้งก่อนหน้า โดยคู่ว่างของใบเสนอราคาสำหรับอาร์กิวเมนต์ชนิด ซึ่งจะรวมอยู่ภายในวงเล็บ
  • ตัวอย่างต่อไปนี้ใช้ไวยากรณ์อื่นสำหรับอนุประโยคของ IN:
    strSQL = "INSERT INTO [Sheet1$] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' SELECT * FROM Customers"
    					

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเฉพาะตัวของการ Jet นี้ ปรึกษา Jet SQL แฟ้มวิธีใช้ (JETSQL40.chm), โดยเฉพาะอย่างยิ่งหัวข้อเกี่ยวกับคำสั่ง SELECT เข้า แทรกลงในงบ และอนุประโยคของ IN

คุณสมบัติ

หมายเลขบทความ (Article ID): 295646 - รีวิวครั้งสุดท้าย: 8 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Excel 97 Standard Edition
Keywords: 
kbdatabase kbhowto kbjet kbmdacnosweep kbmt KB295646 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:295646

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com