Jak zapobiec rozrostu bazy danych po użyciu obiektów DAO (Data Access)

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 289562 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Umiarkowany: Wymaga podstawowych makro, kodowania i interoperacyjności umiejętności.

Ten artykuł dotyczy tylko bazy danych programu Microsoft Access (.mdb).

Wersja dla programu Microsoft Access 2000 w tym artykule zobacz 209847.
Wersja dla programu Microsoft Access 97 tego artykułu zobacz 186311.
Rozwiń wszystko | Zwiń wszystko

Symptomy

Baza danych Microsoft Access rozpoczął wybrzuszanie (lub wzrost szybko w rozmiarze) po zastosowaniu obiektów DAO (Data Access) do otwierania zestaw rekordów.

Przyczyna

Jeśli zwalnia pamięć zestawu rekordów przy każdym pętli przy użyciu kodu zestawu rekordów, może być skompilowana DAO przy użyciu więcej pamięci i Zwiększanie rozmiaru bazy danych.

Rozwiązanie

Aby zapobiec zajmowaniu zasobów niepotrzebne i zwiększenie rozmiar bazy danych, należy użyć Zamknij Metoda Zestaw rekordów obiektu jawnego zamknięcia pamięci w zestawie rekordów, gdy użytkownik nie jest już potrzebny zestaw rekordów.

Jeśli baza danych jest zwiększenie w wielkości ponieważ nie użyto Zamknij Metoda Zestaw rekordów Obiekt można zmniejszyć rozmiar bazy danych, uruchamiając Kompaktuj i napraw Narzędzie (na Narzędzia menu).

Więcej informacji

Podczas tworzenia Zestaw rekordów (lub QueryDef) obiektów w kodzie, jawnego zamknięcia obiektu podczas pracy Zakończono. Program Microsoft Access automatycznie zamyka. Zestaw rekordów i QueryDef obiekty w większości przypadków. Jednakże jeśli użytkownik jawnie Zamknij obiekt w kodzie, można uniknąć okazjonalnych wystąpień, kiedy obiekt pozostaje otwarta. W następujących krokach przedstawiono sposób użycia obiektów DAO do zamknięcia Zestaw rekordów lub QueryDef obiekt.
  1. Uruchom program Microsoft Access.
  2. Otwórz przykładową bazę danych Northwind.mdb.

    UWAGA: Microsoft Data Access używa przykładowy kod w tym artykule Obiekty. Aby ten kod działał poprawnie trzeba odwołać biblioteki Microsoft DAO 3.6 Object Library. Aby to zrobić, kliknij przycisk Odwołania na Narzędzia w Edytorze Visual Basic w menu i upewnij się, że Biblioteki obiektów Microsoft DAO 3.6 pole wyboru jest zaznaczone.

  3. Skopiuj poniższy kod do nowego modułu. Następujące Przykładowy kod otwiera i zamyka Zestaw rekordów i QueryDef obiekt i wyświetla zarówno Zestaw rekordów i QueryDef informacje w polach komunikatu.
    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. Uruchomienie procedury subCloseObjects.

Właściwości

Numer ID artykułu: 289562 - Ostatnia weryfikacja: 17 września 2011 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Słowa kluczowe: 
kbprogramming kbvba kbprb kbmt KB289562 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:289562

Przekaż opinię

 

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