Bagaimana mencegah database mengasapi setelah Anda menggunakan Data akses objek (DAO)

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 289562 - Melihat produk di mana artikel ini berlaku.
Moderat: Memerlukan dasar makro, coding, dan interoperabilitas keterampilan.

Artikel ini hanya berlaku untuk Microsoft Access database (.mdb).

Untuk versi Microsoft Access 2000 artikel ini, Lihat 209847.
Untuk versi Microsoft Access 97 artikel ini, Lihat 186311.
Perbesar semua | Perkecil semua

GEJALA

Microsoft Access database telah mulai mengasapi (atau tumbuh cepat dalam ukuran) setelah Anda menerapkan Data akses objek (DAO) untuk membuka Recordset.

PENYEBAB

Jika Anda tidak melepaskan recordset memori setiap kali yang Anda loop melalui kode recordset, DAO dapat mengkompilasi ulang, menggunakan lebih banyak memori dan meningkatkan ukuran database.

PEMECAHAN MASALAH

Untuk menghindari mengkonsumsi sumber daya yang tidak perlu dan meningkatkan besar database, menggunakan Tutup metode Recordset objek untuk secara eksplisit dekat recordset memori ketika Anda tidak lagi perlu recordset.

Jika database telah meningkat dalam ukuran karena Anda tidak menggunakan Tutup metode Recordset objek, Anda dapat mengurangi ukuran database dengan menjalankan Kompak dan perbaikan utilitas (pada Alat menu).

INFORMASI LEBIH LANJUT

Bila Anda membuat Recordset (atau QueryDef) objek dalam kode, secara eksplisit dekat objek ketika Anda selesai. Microsoft Access otomatis menutup Recordset dan QueryDef objek dalam keadaan umum. Namun, jika Anda secara eksplisit menutup objek dalam kode Anda, Anda dapat menghindari sesekali kasus ketika objek tetap terbuka. Langkah-langkah berikut menunjukkan kepada Anda bagaimana menggunakan DAO untuk menutup Recordset atau QueryDef objek.
  1. Mulai Microsoft Access.
  2. Buka database contoh Northwind.mdb.

    CATATAN: Kode contoh dalam artikel ini menggunakan Microsoft Data Access Objek. Untuk kode ini untuk menjalankan dengan benar, Anda harus referensi Microsoft DAO 3,6 Perpustakaan objek. Untuk melakukannya, klik Referensi pada Alat menu di Editor Visual Basic, dan memastikan bahwa Perpustakaan objek Microsoft DAO 3,6 kotak centang dipilih.

  3. Salin kode berikut ke modul baru. Berikut contoh kode membuka dan menutup Recordset dan QueryDef objek, dan menampilkan kedua Recordset dan QueryDef informasi dalam kotak pesan.
    Option Compare Database
    Option Explicit
    
    Sub subCloseObjects()
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim qd As DAO.QueryDef
    
        Set db = CurrentDb
        Set rs = db.OpenRecordset("Employees", dbOpenTable)
        Set qd = db.QueryDefs("Invoices")
    
        rs.MoveLast    'Move to the last record in the Recordset.
    
        MsgBox "The Employees Recordset is open." & vbCrLf & _
               "The last Employee ID is " & rs![EmployeeID] & "."
        MsgBox "The Invoices query definition is open." & vbCrLf & _
               "The first field in the query is " & qd.Fields(0).Name
    
        'Explicitly close the Recordset and QueryDef objects.
        rs.Close
        qd.Close
    End Sub
    					
  4. Menjalankan rutin subCloseObjects.
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properti

ID Artikel: 289562 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Kata kunci: 
kbprogramming kbvba kbprb kbmt KB289562 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:289562

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