Możesz używać programu Access jako aplikacji frontonu, a następnie łączyć się z tabelami na serwerze wewnętrznym, takim jak program SQL Server. Domyślnie większość zapytań jest uruchamiana lokalnie w aparacie bazy danych ACE programu Access. W niektórych przypadkach program Access może zdalnie uruchomić zapytanie w programie SQL Server, zależnie od składni SQL i innych czynników. Aby uzyskać więcej informacji, zobacz "Aparat bazy danych JET w wersji 3.0: łączność ODBC" w dokumentach Rediscovered JET i ODBC.
Często jednak zachodzi potrzeba jawnego uruchomienia kwerendy na serwerze bazy danych. Ma to na celu zwiększenie wydajności: serwery baz danych mają większą moc obliczeniową niż komputery stacjonarne, a przez połączenie sieciowe można zwrócić mniejszy podzbiór danych. Aby uruchomić zapytanie na serwerze bazy danych, użyj zapytania przekazującego, czyli instrukcji języka Transact SQL (TSQL) łączącej się z programem SQL Server przy użyciu parametrów połączenia ODBC. Można na przykład przekazać instrukcję SELECT w celu zwrócenia danych do arkusza danych, formularza, raportu lub kontrolki listy, uruchomienia równoważnika zapytania funkcjonalnego (instrukcji DML (Data Manipulation Language)), wywołania procedur składowanych i wykonywania zadań administracyjnych (instrukcji DDL).
Wskazówka Wyniki zapytania przekazującego są przeznaczone tylko do odczytu. Aby bezpośrednio edytować dane w arkuszu danych lub formularzu, należy utworzyć tabelę połączoną z widokiem indeksowanym. Aby uzyskać więcej informacji, zobacz Tworzenie widoków indeksowanych.
- Połącz się z bazą danych serwera.
Aby uzyskać więcej informacji na temat łączenia z programem SQL Server, zobacz Importowanie lub łączenie danych zawartych w bazie danych programu SQL Server oraz Łączenie z danymi lub importowanie ich z bazy danych programu Azure SQL Server. - Wybierz pozycję Utwórz>projekt kwerendy.
- W razie potrzeby zamknij okno dialogowe Dodawanie tabel (Pokaż tabelę w programie Access.
- Wybierz opcję>Projekt przechodzący.
Program Access ukryje siatkę projektu zapytania i wyświetli widok SQL. - Jeśli arkusz właściwości zapytania nie jest wyświetlany, naciśnij klawisz F4, aby go wyświetlić.
- W arkuszu właściwości kliknij pole właściwości ODBC Connect Str , a następnie wykonaj jedną z następujących czynności:
Aby uzyskać parametry połączenia:
- W okienku nawigacji kliknij prawym przyciskiem myszy tabelę połączoną z odpowiednim źródłem danych i wybierz pozycję Menedżer tabel połączonych.
- W oknie dialogowym Menedżer tabel połączonych zaznacz pole wyboru źródła danych, a następnie wybierz pozycję Edytuj.
- W oknie dialogowym Edytowanie linku skopiuj tekst znajdujący się w polu Parametry połączenia .
Wprowadź zapytanie w widoku SQL.
Uwaga: Istnieją istotne różnice między językiem Access SQL a językiem TSQL programu SQL Server, zwłaszcza w zakresie składni, nazw funkcji i argumentów funkcji. Aby uzyskać więcej informacji, zobacz Porównanie języka SQL programu Access z językiem TSQL programu SQL Server.
Porada Najpierw skonstruuj zapytanie TSQL w programie SQL Server Management Studio, a następnie skopiuj i wklej kod SQL do widoku SQL. Zapewnia to poprawność składni zapytania. Jeśli nie masz dogodnego dostępu do bazy danych programu SQL Server, rozważ zainstalowanie na komputerze programu Microsoft SQL Server Express edition, który obsługuje do 10 GB i jest bezpłatnym oraz łatwiejszym sposobem przeprowadzenia i sprawdzenia migracji.Rozważ ustawienie dodatkowych właściwości pokrewnych:
Zwraca rekordy Niektóre instrukcje SQL zwracają rekordy, na przykład SELECT, a inne nie, na przykład UPDATE. Jeśli zapytanie zwraca rekordy, ustaw tę właściwość na wartość Tak; Jeśli zapytanie nie zwraca rekordów, ustaw tę właściwość na wartość Nie.
Wskazówka Zapytania przekazujące mogą zwracać wiele zestawów wyników, ale w zmiennej arkusza danych, formularza, raportu lub zestawu rekordów jest używany tylko pierwszy zestaw wyników. Aby pobrać wiele zestawów wyników, należy użyć zapytania tworzącego tabele , jak pokazano w poniższym przykładzie:SELECT <pass-through query name>.* INTO <local table name> FROM < pass-through query name >Należy użyć gwiazdki (*), ponieważ każdy zestaw wyników może mieć różne kolumny. Każdy zestaw wyników jest zapisywany w osobnej tabeli i odpowiednio numerowane są dołączane do nazw tabel lokalnych. Jeśli na przykład zostaną zwrócone trzy zestawy wyników, zostaną wyświetlone następujące nazwy: <nazwa> tabeli lokalnej, <nazwa>tabeli lokalnej 1, <nazwa>tabeli lokalnej 2.
Komunikaty dzienników Określ, czy komunikaty z bazy danych SQL mają być zwracane w tabeli komunikatów programu Access. Nazwa tabeli ma format nazwa_użytkownika – nn, gdzie nazwa_użytkownika to nazwa logowania bieżącego użytkownika, a nn to liczba zaczynająca się od 00.
Limit czasu ODBC Określ liczbę sekund oczekiwania przed wystąpieniem błędu przekroczenia limitu czasu podczas uruchamiania zapytania. Wartość domyślna to 60 sekund. Mogą wystąpić opóźnienia spowodowane ruchem sieciowym lub intensywnym użyciem serwera bazy danych.
Maksymalna liczba rekordów Określ maksymalną liczbę rekordów do zwrócenia. Być może dysponujesz ograniczonymi zasobami systemowymi lub chcesz przetestować wyniki przy użyciu niewielkiej ilości danych.
Po zakończeniu wprowadzania zapytania wybierz pozycję Uruchomienie projektowania>. Kwerenda jest wysyłana do serwera bazy danych w celu przetworzenia.
