Bagaimana untuk mentransfer Data dari sumber Data ADO ke Excel dengan ADO

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 295646 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Karena Microsoft Excel adalah seperti data kuat alat analisis, Visual Basic dan pengembang aplikasi VBA sering ingin membawa data ke lembar kerja Excel untuk analisis tujuan. Artikel ini menjelaskan objek Data ActiveX (ADO) pendekatan untuk tugas ini pemrograman, menggunakan sintaks Microsoft Jet khusus untuk perintah SQL tertentu.

Artikel ini menjelaskan solusi pemrograman dan tidak menggambarkan kemampuan Excel berbasis menu data impor (melalui Terbuka pilihan di Berkas menu) atau menggunakan Microsoft Query (dari Mendapatkan Data eksternal pilihan di Data menu).

Untuk informasi tambahan tentang solusi pemrograman komplementer yang menggunakan Excel otomatisasi bukannya perintah SQL, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
246335 Bagaimana untuk mentransfer Data dari ADO Recordset ke Excel dengan otomatisasi

INFORMASI LEBIH LANJUT

Dalam contoh yang mengikuti, cnSrc mewakili koneksi ADO terbuka untuk Northwind sampel database Jet menggunakan Jet 4.0 OLE penyedia DB.

Cara menyalin

Anda dapat menggunakan pernyataan pilih ke menyalin data dari sumber data yang Jet dapat membaca ke tujuan data apapun, membuat sebuah tabel baru (atau, dalam kasus Excel, lembar kerja yang baru) on the fly. Tidak menggunakan sintaks tanda dolar, misalnya [Sheet1$], ketika Anda merujuk ke nama lembar sebagai tujuan Anda. Buku kerja tujuan dapat ada atau tidak ada; Namun, tujuan lembar harus tidak belum ada.

Ada tiga cara untuk menulis perintah copy yang menyalin seluruh pelanggan tabel dari database Microsoft Access Northwind ke lembar baru di buku kerja Excel. Sintaks setiap memerlukan satu pernyataan SQL dan menciptakan judul kolom pada baris pertama dari tujuan lembar kerja.
  • Contoh berikut menggunakan sintaks pilih ke:
    Dim strSQL As String
    strSQL = "SELECT * INTO [Excel 8.0;Database=" & App.Path & _ 
        "\book1.xls].[Sheet1] FROM Customers"
    cnSrc.Execute strSQL
    					
  • Contoh berikut menggunakan pilih ke... DALAM sintaks:
    strSQL = "SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] FROM Customers"
    						
    di mana informasi database tujuan kurung didahului oleh sepasang tanda kutip tunggal untuk argumen jenis ("Excel 8.0" bagian), yang disertakan dalam tanda kurung ketika Anda gunakan sintaks ini kosong.
  • Contoh berikut menggunakan sintaks alternatif untuk klausul IN:
    strSQL = "SELECT * INTO [Sheet1] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' FROM Customers"
    						
    di mana jenis argumen sekarang terdaftar secara terpisah setelah path file tujuan.

Bagaimana untuk menambahkan

Anda dapat memasukkan ke... DALAM pernyataan untuk menambahkan data dari sumber data Jet yang dapat membaca ke semua data tujuan. Tujuan buku kerja dan lembar kerja harus ada. Sekarang bahwa Anda mengacu pada lembar kerja yang ada, Anda harus menggunakan tanda dolar standar sintaks, misalnya, [Sheet1$], ketika Anda merujuk ke nama lembar sebagai tujuan Anda. Selain itu, judul kolom sudah harus ada; dengan kata lain, pernyataan ini hanya akan digunakan untuk menambahkan to an existing table.

Ada dua cara untuk menulis perintah menambahkan yang menyalin seluruh pelanggan tabel dari Northwind database ke worksheet Excel yang ada, yang telah memiliki judul kolom yang sesuai.
  • Contoh berikut menggunakan masukkan ke... DALAM sintaks:
    strSQL = "INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] SELECT * FROM Customers"
    						
    di mana lagi informasi database tujuan kurung didahului oleh sepasang tanda kutip untuk jenis argumen, yang sekarang kosong disertakan dalam tanda kurung.
  • Contoh berikut menggunakan sintaks alternatif untuk klausul IN:
    strSQL = "INSERT INTO [Sheet1$] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' SELECT * FROM Customers"
    					

REFERENSI

Untuk informasi tambahan tentang sintaks Jet khusus ini, konsultasikan dengan berkas Bantuan Jet SQL (JETSQL40.chm), terutama topik di pilih ke pernyataan, masukkan ke dalam pernyataan dan IN klausa.

Properti

ID Artikel: 295646 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • 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
Kata kunci: 
kbdatabase kbhowto kbjet kbmdacnosweep kbmt KB295646 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:295646

Berikan Masukan

 

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