Nr błędu: 133539 (office10)
Wersja 2000 dla programu Microsoft Access w tym artykule zobacz 261000.Początkujący: wymaga znajomości interfejsu użytkownika na komputerach z pojedynczym użytkownikiem. Ten artykuł dotyczy tylko bazy danych programu Microsoft Access (. mdb).
Symptomy
Po otwarciu tabeli połączonej w programie Microsoft Access 2002, w programie Microsoft Office Access 2003. lub w programie Microsoft Office Access 2007, które mogą wyświetlać rekordy pokrewne w podarkuszu danych, proces trwa zauważalnie dłużej niż w przypadku korzystania z tej samej bazy danych w programie Microsoft Access 97.
Przyczyna
To zachowanie występuje, jeśli istnieje wiele tabel połączonych w bazie danych, która zawiera również wiele relacji, a tabela, którą otwierasz ma jego Nazwa podarkusza danych właściwość jest ustawiona na [Auto].
Rozwiązanie
Aby obejść ten problem, należy ustawić właściwość Nazwa podarkusza danych tabeli na [Brak]. Można to zrobić ręcznie lub przy użyciu kodu.
Ręczne ustawianie właściwości Nazwa podarkusza danych
Aby ręcznie ustawić właściwość Nazwa podarkusza danych , wykonaj następujące kroki. Uwaga Te kroki działają tylko w przypadku programu Access 2002.
-
W bazie danych zaplecza Otwórz tabelę w widoku Projekt.
-
W menu Widok kliknij polecenieWłaściwości.
-
Ustaw właściwość Nazwa podarkusza danych na[Brak].
-
Zapisz, a następnie zamknij tabelę.
Ustawienie właściwości Nazwa podarkusza danych dla wszystkich tabel przy użyciu kodu
Można użyć funkcji języka Visual Basic for Applications, aby automatycznie ustawić właściwość Nazwa podarkusza danych dla wszystkich tabel niesystemowych w bazie danych na [Brak]. Aby to zrobić, wykonaj następujące kroki:
-
Otwórz bazę danych zaplecza.
-
W oknie Baza danych kliknij przycisk moduły, a następnie kliknij przycisk Nowy.
-
W menu Narzędzia kliknij polecenieodwołania. Upewnij się, że jest zaznaczone pole wyboru Biblioteka obiektów Microsoft DAO 3,6 , a następnie kliknij przycisk OK.
-
Wpisz lub wklej następujący kod do nowego modułu.
Sub TurnOffSubDataSheets()Dim MyDB As DAO.DatabaseDim MyProperty As DAO.PropertyDim propName As String, propVal As String, rplpropValue As StringDim propType As Integer, i As IntegerDim intCount As IntegerOn Error GoTo tagErrorSet MyDB = CurrentDbpropName = "SubDataSheetName"propType = 10propVal = "[None]"rplpropValue = "[Auto]"intCount = 0For 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 IftagFromErrorHandling:Next iMyDB.CloseIf intCount > 0 Then MsgBox "The " & propName & " value for " & intCount & " non-system tables has been updated to " & propVal & "."End IfExit SubtagError: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 tagFromErrorHandlingElse MsgBox Err.Description & vbCrLf & vbCrLf & " in TurnOffSubDataSheets routine."End IfEnd Sub
-
W oknie bezpośrednim wpisz następujący tekst, a następnie naciśnij przycisk ENTER, aby uruchomić funkcję:
TurnOffSubDataSheets
Należy zauważyć, że po krótkim czasie, jeśli wszystkie tabele nie są już aktualizowane, pojawi się okno komunikatu informujące, że właściwość SubdatasheetName dla < NumberOfTablesUpdated > tabele niesystemowe została zaktualizowana do [none].
Więcej informacji
Program Office Access 2007, dostęp 2003, dostęp 2002 i dostęp 2000 umożliwiają wyświetlanie rekordów pokrewnych tabeli w podarkuszu danych; Ta funkcja nie jest dostępna w programie Access 97. Aby zarządzać relacjami między głównymi i powiązanymi tabelami, system wymaga dodatkowego narzutu, który może wydłużyć czas odpowiedzi, szczególnie gdy baza danych ma dużą liczbę połączonych tabel i dużą liczbę relacji między tabelami. Główna tabela w relacji jeden-do-wielu (tabela po stronie "jeden" równania) może mieć jej właściwość Nazwa podarkusza danych[none], w którym to przypadku podarkusze danych nie są wyświetlane. Lub jego Nazwa podarkusza danych właściwości można ustawić nazwę konkretnej tabeli powiązanej lub [Auto]. Jeśli właściwość jest ustawiona na [Auto], można wybrać tabelę pokrewny, którego rekordy chcesz zobaczyć po kliknięciu przycisku Rozwiń wskaźnik rekordu w tabeli głównej. Po ustawieniu właściwości [Auto], może to zmniejszyć wydajność zauważalnie, szczególnie na starszych komputerach, gdy baza danych używa dużej liczby tabel połączonych. To zachowanie nie występuje, gdy wszystkie tabele są obecne w tej samej bazie danych. Ponieważ problem jest niska wydajność, czynniki, takie jak szybkość procesora i dostępne zasoby systemowe może spowodować bazy danych, który wykonuje odpowiednio na jednym komputerze, aby działać powoli na innym komputerze. Firma Microsoft podaje przykłady programowania tylko na ilustracji, bez gwarancji wyrażonej lub dorozumianej. Obejmuje to, ale nie ogranicza się do, dorozumianych gwarancji przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że znasz języka programowania, który jest demonstrowany i narzędzia, które są używane do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu funkcjonalności konkretnej procedury, ale nie będą modyfikować tych przykładów, aby zapewnić dodatkowe funkcje lub konstruować procedury spełniające określone wymagania.