Dotyczy
Access 2010

Symptomy

W programie Microsoft Access możesz napotkać niską wydajność, używając zapytań przekazujących jako tabel źródłowych w innych zapytaniach.

Przyczyna

Program Microsoft Access nie przechowuje definicji zapytania przekazującego. Dlatego zapytanie przekazujące może być wykonywane w różnych momentach w celu pobrania informacji związanych z jego definicją. Gdy wykonanie zapytania przekazującego zajmuje dużo czasu, wydaje się, że program Access zawiesza się podczas wykonywania zapytania przekazującego.

Rozwiązanie

W zależności od tego, gdzie można zauważyć problem w programie Access, dostępnych jest kilka metod zapobiegania temu problemowi.Zmiany ogólne:

  1. Zwiększ wydajność zapytania przekazującego, aby skrócić czas wykonywania zapytania.

  2. Zamiast używać zapytania przekazującego, utwórz widok w SQL Server i połącz ten widok z programem Access jako tabelą połączoną.

Konkretne scenariusze:Projektowanie zapytania:

  1. Wprowadzanie zmian w projekcie w widoku SQL programu Access zamiast w widoku projektu (w widoku projektu zapytania można zmienić widok na widok SQL, otwierając zapytanie w widoku projektu. Następnie przejdź do sekcji Wyniki na karcie Projektowanie na wstążce).

  2. Problem dotyczy zapisanych zapytań. Możesz więc otworzyć istniejące zapytanie w widoku SQL programu Access, skopiować składnię SQL, utworzyć nowe zapytanie, wkleić składnię SQL w widoku SQL, a następnie zmienić zapytanie na widok projektu. Będzie można zaprojektować zapytanie bez problemu, dopóki go nie zapiszesz.

Otwieranie formularzy lub wykonywanie zapytań:

  1. Zmień właściwość typu zestawu rekordów na migawkę. (W widoku projektu udostępnij arkusz właściwości z karty projektowania na wstążce w grupie Pokazywanie/ukrywanie)

Wyświetlanie raportów:

  1. Zmienianie raportu w celu użycia zapytania przekazującego jako źródła rekordów

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.