Spadek wydajności połączonych tabel w programie Access 2002, Office Access 2003 i Office 2007

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 275085 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Wersja dla programu Microsoft Access 2000 niniejszego artykułu, 261000.
Początkujący: Wymaga znajomości interfejsu użytkownika na pojedynczy użytkownik komputery.

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

Rozwiń wszystko | Zwiń wszystko

Symptomy

Po otwarciu tabeli połączonej w programie Microsoft Access 2002 w programie Microsoft Office Access 2003. lub w programie Microsoft Office Access 2007 można wyświetlić rekordy pokrewne w podrzędny arkusz danych, proces trwa znacznie dłużej, niż tak, jeśli używasz tej samej bazy danych programu Microsoft Access 97.

Przyczyna

To zachowanie występuje, jeśli istnieje wiele tabel połączonych w Baza danych zawierająca wiele relacji i tabelę, która jest przy czym zapięcie posiada jego Nazwa podarkusza danych Właściwość jest ustawiona na [Auto].

Rozwiązanie

Aby obejść ten problem, Ustaw tabelę Nazwa podarkusza danych Właściwość [Brak]. Można to zrobić ręcznie lub przy użyciu kodu.

Ręczne ustawienie właściwości Nazwa podarkusza danych

Aby ustawić Nazwa podarkusza danych Właściwość ręcznie, wykonaj następujące kroki:

UwagaTe procedura działa tylko w programie Access 2002.
  1. Otwórz tabelę w widoku projektu w wewnętrznej bazy danych.
  2. Na Widok menu, kliknij przyciskWłaściwości.
  3. Ustaw Nazwa podarkusza danych Właściwość[BRAK].
  4. Zapisz i zamknij tabelę.

Ustawienie właściwości Nazwa podarkusza danych dla wszystkich tabel za pomocą kodu

Za pomocą języka Visual Basic dla funkcji aplikacji do ustawiana automatycznie Nazwa podarkusza danych właściwości dla wszystkich tabel niesystemowych bazy danych [BRAK]. Aby to zrobić, wykonaj następujące kroki:
  1. Otwieranie bazy danych zaplecza.
  2. W oknie Baza danych kliknij przycisk Moduły, a następnie kliknij przycisk Nowy.
  3. Na Narzędzia menu, kliknij przyciskOdwołania. Upewnij się, że Obiektów Microsoft DAO 3.6 Biblioteka pole wyboru jest zaznaczone, a następnie kliknij przycisk OK.
  4. Wpisz lub wklej następujący kod do nowego modułu.
    Sub TurnOffSubDataSheets()
    Dim MyDB As DAO.Database
    Dim MyProperty As DAO.Property
    Dim propName As String, propVal As String, rplpropValue As String
    Dim propType As Integer, i As Integer
    Dim intCount As Integer
    
    On Error GoTo tagError
    
    Set MyDB = CurrentDb
    propName = "SubDataSheetName"
    propType = 10
    propVal = "[None]"
    rplpropValue = "[Auto]"
    intCount = 0
    
    For i = 0 To MyDB.TableDefs.Count - 1
        If (MyDB.TableDefs(i).Attributes And dbSystemObject) = 0 Then
            If MyDB.TableDefs(i).Properties(propName).Value = rplpropValue Then
                 MyDB.TableDefs(i).Properties(propName).Value = propVal
                 intCount = intCount + 1
            End If
        End If
    tagFromErrorHandling:
    Next i
    
    MyDB.Close
    
    If intCount > 0 Then
        MsgBox "The " & propName & " value for " & intCount & " non-system tables has been updated to " & propVal & "."
    End If
    
    Exit Sub
    
    tagError:
    If Err.Number = 3270 Then
        Set MyProperty = MyDB.TableDefs(i).CreateProperty(propName)
        MyProperty.Type = propType
        MyProperty.Value = propVal
        MyDB.TableDefs(i).Properties.Append MyProperty
        intCount = intCount + 1
        Resume tagFromErrorHandling
    Else
        MsgBox Err.Description & vbCrLf & vbCrLf & " in TurnOffSubDataSheets routine."
    End If
    End Sub
    
  5. W oknie bezpośrednim wpisz następujący tekst, a następnie Naciśnij klawisz ENTER, aby uruchomić funkcję:
    TurnOffSubDataSheets
    						
    Należy zauważyć, że po krótkim okresie czasu, jeśli wszystkie tabele nie są już zaktualizowane, pojawi się okno komunikatu, który informuje, że SubDataSheetName Właściwość tabel systemowych bez <numberoftablesupdated> został zaktualizowany, aby<b00></b00></numberoftablesupdated>[BRAK].

Więcej informacji

Program Office Access 2007, program Access 2003, Access 2002 i Access 2000 umożliwiają wyświetlanie powiązanych rekordów w tabeli w podarkuszu danych; Funkcja ta nie jest dostępne w programie Access 97. Do zarządzania relacjami między głównego zobowiązanego i tabele pokrewne, dodatkowe obciążenie, które mogą zwiększyć wymaga systemu czas reakcji, szczególnie w przypadku, gdy baza danych ma dużą liczbą tabel połączonych i dużą liczbę relacji między tabelami.

Główny zobowiązany Tabela w relacji jeden do wielu (tabeli po stronie "jeden" Równanie) może mieć jego Nazwa podarkusza danych Właściwość jest ustawiona na [Brak], w którym to przypadku podarkusze danych nie są wyświetlane. Lub jego Nazwa podarkusza danych Właściwość można ustawić nazwę określonej tabeli pokrewnej, lub Aby [Auto]. Jeśli właściwość jest ustawiona na wartość [Auto], można wybrać w tabeli pokrewnej, którego rekordy chcesz Aby zobaczyć po kliknięciu Rozwiń węzeł wskaźnik rekordu w tabeli głównej. Podczas ustawiania Właściwość [Auto], może to zmniejszyć wydajność znacznie, szczególnie na starszych komputery, gdy baza danych używa dużej liczby tabel połączonych. To zachowanie nie występuje, gdy wszystkie tabele są obecni w tym samym Baza danych.

Ponieważ problem jest niska wydajność, czynniki takie jak szybkość procesora i dostępnych zasobów systemowych może spowodować, że baza danych wykonuje się odpowiednio na jednym komputerze spadek wydajności na innym komputerze.

Firma Microsoft podaje przykłady programowania wyłącznie, bez jakichkolwiek gwarancji wyrażonych wprost lub domyślnie. Obejmuje, ale nie jest ograniczona do domniemanych gwarancji jakości lub przydatności do określonego celu. W tym artykule założono, że czytelnik jest obeznany z językiem programowania, przy czym obrazuje i narzędzia, które są używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnej funkcji i konstruować nowych procedur w celu spełnienia szczególnych wymagań.

Właściwości

Numer ID artykułu: 275085 - Ostatnia weryfikacja: 22 czerwca 2011 - Weryfikacja: 2.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Słowa kluczowe: 
kbbug kbperformance kbnofix kbmt KB275085 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:275085

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