ID Artikel: 147739 - Kajian Terakhir: 15 September 2011 - Revisi: 2.0

Bagaimana untuk mengambil QueryDef dari MS Access menggunakan DAO

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Perbesar semua | Perkecil semua

RINGKASAN

Dalam versi Microsoft Excel 97 dan 7.0, Anda dapat menggunakan data akses obyek (DAO) dalam Visual Basic untuk aplikasi untuk mengambil hasil QueryDef dari Microsoft Access. Artikel ini menunjukkan bagaimana untuk melakukannya.

INFORMASI LEBIH LANJUT

Microsoft menyediakan contoh pemrograman hanya sebagai ilustrasi, tanpa jaminan apa pun baik tersurat maupun tersirat. Termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk keperluan tertentu. Artikel ini mengasumsikan bahwa Anda telah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan mendebug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, namun mereka tidak akan memodifikasi contoh untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda. Artikel ini menggunakan database Northwind yang disertakan dengan Microsoft Office 95 Profesional. Jika Anda memilih pilihan default, database terletak dalam \Msoffice\Access\Samples folder. Jika Anda Northwind database terletak di folder yang berbeda, mengedit kode yang tersedia sebelum menjalankan itu.

Di Microsoft Office 97, default path untuk Northwind database adalah \Program Files\Microsoft Office\Office\Samples\Northwind.mdb.

QueryDef dibuat dalam Microsoft Access dan disimpan dengan database file. Itu terdiri dari permintaan dan mungkin atau mungkin tidak termasuk kriteria.

Catatan: Jika Anda menerima galat "jenis yang ditetapkan pengguna tidak didefinisikan", Aktifkan lembar modul, klik referensi pada menu alat, dan klik Microsoft DAO 3.0 Kotak centang objek perpustakaan.

Mengambil hasil QueryDef dari Microsoft Access adalah langkah lima proses sebagai berikut:
  1. Membangun sebuah Database objek.
  2. Menetapkan objek QueryDef.
  3. Menetapkan objek Recordset.
  4. Mengambil header (jika diinginkan).
  5. Mengambil data dari tabel.
Setelah data yang diperoleh, Anda harus menutup semua objek yang Anda membuka dengan mengeluarkan.Dekat perintah.
   Sub GetQueryDef()
       'This sub will get data from an Existing QueryDef in the Northwind
       'database and place the data on sheet2.

         Dim Db As Database
         Dim Qd As QueryDef
         Dim Rs As Recordset
         Dim Ws As Object
         Dim i As Integer
      Dim Path as String

      'Set the Path to the database. This line is useful because
      'if your database is in another location, you just need to change
      'it here and the Path Variable will be used throughout the code.
      '
      'If you're using Microsoft Office 97, the line should read:
      '
      'Path = "C:\Program Files\Microsoft
      'Office\Office\Samples\Northwind.mdb"
      '
      Path = "C:\Msoffice\Access\Samples\Northwind.mdb"

       'Set Ws
       Set Ws = Sheets("Sheet1")

       'This set of code will activate Sheet1 and clear any existing data.
       'After clearing the data, it will select cell A1.
       Ws.Activate
       Range("A1").Activate
       Selection.CurrentRegion.Select
       Selection.ClearContents
       Range("A1").Select

       'Set the Database and QueryDef. This QueryDef exists in the
       'database.
       Set Db = Workspaces(0).OpenDatabase(Path, ReadOnly:=True, _
         Exclusive:=False)
       Set Qd = Db.QueryDefs("Invoices")

       'Create a new Recordset from the Query based on the stored
       'QueryDef.
       Set Rs = Qd.OpenRecordset()

       'This loop will collect the field names and place them in the first
       'row starting at "A1."
       For i = 0 To Rs.Fields.Count - 1
           Ws.Cells(1, i + 1).Value = Rs.Fields(i).Name
       Next

      'This line simply sets the font to bold for the headers.
      Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, Rs.Fields.Count)).Font.Bold _
          =True

      'The next line will get the data from the recordset and copy it
      'into the Worksheet (Sheet1).

       Ws.Range("A2").CopyFromRecordset Rs

      'This next code set will just select the data region and auto-fit
      'the columns
       Sheets("Sheet1").Select
       Range("A1").Select
       Selection.CurrentRegion.Select
       Selection.Columns.AutoFit
       Range("A1").Select

       Qd.Close
       Rs.Close
       Db.Close

   End Sub
				

REFERENSI

Untuk informasi lebih lanjut tentang Data akses obyek, dari Visual Basic Editor, klik asisten kantor, ketik "DAO," klik Cari, dan kemudian Klik untuk melihat "Data akses obyek ikhtisar."

Catatan: Jika asisten tersembunyi, klik tombol kantor asisten Toolbar standar. Jika asisten tidak mampu menjawab pertanyaan Anda, Silakan lihat artikel berikut pada Basis Pengetahuan Microsoft:
176476  (http://support.microsoft.com/kb/176476/EN-US/ ) DARI: Kantor asisten tidak menjawab pertanyaan Visual Basic
Untuk informasi lebih lanjut tentang benda-benda akses data dalam Microsoft Excel versi 7.0, klik tab indeks di Microsoft Excel membantu dan ketik:
DAO

Berlaku bagi:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
Kata kunci: 
kbdtacode kbhowto kbprogramming kbmt KB147739 KbMtid
Penerjemahan MesinPenerjemahan 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:147739  (http://support.microsoft.com/kb/147739/en-us/ )
Retired KB ArticleSanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.