Создание запроса к серверу
Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Вы можете использовать Access в качестве интерфейсного приложения, а затем связаться с таблицами на внутреннем сервере, например SQL Server. По умолчанию большинство запросов выполняются локально в ядре СУБД Access ACE. В некоторых случаях Access может выполнять запрос удаленно на SQL Server в зависимости от синтаксиса SQL и других факторов. Дополнительные сведения см. в разделе Jet Database Engine версии 3.0: ПОДКЛЮЧЕНИЕ ODBC в технических документах Rediscovered JET и ODBC.

Однако часто требуется явно выполнить запрос на сервере базы данных. Это делается для повышения производительности: серверы баз данных имеют большую вычислительную мощность, чем настольный компьютер, и вы можете возвращать меньшее подмножество данных через сетевое подключение. Чтобы выполнить запрос на сервере базы данных, используйте запрос к серверу который представляет собой инструкцию Transact SQL (TSQL), которая подключается к SQL Server с помощью строки подключения ODBC. Например, можно передать инструкцию SELECT для возврата данных в таблицу, форму, отчет или элемент управления списком, выполнить эквивалент запросов действий (инструкции языка обработки данных (DML), вызывать хранимые процедуры и выполнять административные задачи (инструкции языка определения данных (DDL).

Примечание.    Результаты сквозного запроса доступны только для чтения. Чтобы напрямую изменить данные в таблице или форме, создайте связанную таблицу с индексируемым представлением. Дополнительные сведения см. в разделе Создание индексированных представлений.

  1. Подключение к серверной базе данных.

    Дополнительные сведения о связывании с SQL Server см. в разделах Импорт или связывание данных в базе данных SQL Server и Связывание или импорт данных из базы данных SQL Server Azure.

  2. На вкладке Создание нажмите кнопку Конструктор запросов.

  3. При необходимости закройте диалоговое окно Добавление таблиц (показать таблицу в Access).

  4. Выберите Конструктор >сквозной.

    Access скрывает сетку конструктора запроса и отображает представление SQL.

  5. Если страница свойств запроса не отображается, нажмите клавишу F4, чтобы отобразить ее.

  6. На странице свойств щелкните поле свойства ODBC Connect Str и выполните одно из следующих действий:

    Чтобы получить строку подключения, выполните приведенные далее действия.

    1. В области навигации щелкните правой кнопкой мыши таблицу, связанную с нужным источником данных, и выберите Диспетчер связанных таблиц.

    2. В диалоговом окне Диспетчер связанных таблиц установите флажок источника данных и нажмите кнопку Изменить.

    3. В диалоговом окне Изменение ссылки скопируйте текст в поле Строка подключения .

    1. Выберите Сборка Кнопка "Построитель".

    2. Следуйте инструкциям, чтобы создать файл DSN, содержащий сведения о строке подключения. Подробные инструкции см . в разделах Импорт или связывание данных в базе данных SQL Server и Связывание или импорт данных из базы данных SQL Server Azure.

    После создания подключения к файлу DSN строка подключения ODBC внутренне сохраняется в базе данных Access. Вот способ получения копии этой строки:

    1. Найдите имя связанной таблицы в области навигации с помощью нужного подключения ODBC.

    2. Нажмите клавиши CTRL+G. , чтобы открыть окно Интерпретация VBA.

    3. Введите следующий код:

      ?CurrentDb.TableDefs("<table name>").Connect

      Но замените <имя таблицы> имя связанной таблицы из шага a.

    4. Скопируйте строку, возвращенную в свойство ODBC Connect Str .

  7. Введите запрос в представлении SQL.

    Примечание. Существуют важные различия между Access SQL и SQL Server TSQL, особенно с синтаксисом, именами функций и аргументами функции. Дополнительные сведения см. в статье Сравнение языков Access SQL и SQL Server TSQL.

    Совет    Сначала создайте запрос TSQL в SQL Server Management Studio, а затем скопируйте и вставьте SQL в представление SQL. Это гарантирует правильный синтаксис запроса. Если у вас нет удобного доступа к базе данных SQL Server, рассмотрите возможность установки выпуска Microsoft SQL Server Express на рабочем столе, который поддерживает до 10 ГБ и является бесплатным и простым способом выполнения и проверки миграции.

  8. Рассмотрите возможность установки дополнительных связанных свойств:

    • Возвращает записи     Некоторые инструкции SQL возвращают записи, например SELECT, а некоторые нет, например UPDATE. Если запрос возвращает записи, задайте для этого свойства значение Да; Если запрос не возвращает записи, задайте для этого свойства значение Нет.

      Примечание.    Сквозные запросы могут возвращать несколько результирующих наборов, но в переменной таблицы, формы, отчета или набора записей используется только первый результирующий набор. Чтобы получить несколько результирующих наборов, используйте запрос к таблице make , как показано в следующем примере:

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      Необходимо использовать звездочку (*), так как каждый результирующий набор может иметь разные столбцы. Каждый результирующий набор сохраняется в отдельной таблице, а числа добавляются к именам локальных таблиц соответствующим образом. Например, если возвращаются три результирующих набора, имена таблиц будут следующими: <имя локальной таблицы> <имя локальной таблицы>1, <имя локальной таблицы>2.

    • Сообщения журнала    Укажите, следует ли возвращать сообщения из базы данных SQL в таблице сообщений Access. Имя таблицы имеет формат, имя пользователя — nn, где username — это имя для входа текущего пользователя, а nn — число, начинающаяся с 00.

    • Время ожидания ODBC    Укажите время ожидания в секундах до возникновения ошибки времени ожидания при выполнении запроса. По умолчанию установлен интервал 60 секунд. Возможны задержки из-за сетевого трафика или интенсивного использования сервера базы данных.

    • Максимальное число записей    Укажите максимальное количество возвращаемых записей. Возможно, у вас есть ограниченные системные ресурсы или вы хотите протестировать результаты с небольшим объемом данных.

  9. Завершив ввод запроса, выберите Конструктор > Выполнить. Запрос отправляется на сервер базы данных для обработки.

См. также

Справочник по Transact-SQL

Выполнение запросов с помощью Transact-SQL

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.