Создание запроса к серверу

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access можно использовать в качестве интерфейсного приложения, а затем связывать таблицы на внутреннем сервере, например SQL Server. По умолчанию большинство запросов выполняются локально в ядре СУБД ACE Access. В некоторых случаях Access может удаленно выполнять запросы на SQL Server, в зависимости от синтаксиса SQL и других факторов. Дополнительные сведения см. в статье "JET ядро СУБД Version 3.0: ODBC Connectivity " в повторно открытых технических документах JET и ODBC.

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

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

  1. Подключитесь к базе данных сервера.
    Дополнительные сведения о связывании с SQL Server см. в разделах Импорт данных из базы данных SQL Server или связывание с ними и Связывание или импорт данных из базы данных Azure SQL Server.
  2. Выберите "Создать>конструктор запросов".
  3. Если необходимо, закройте диалоговое окно "Добавление таблиц" (Показать таблицу в Access.
  4. Выберите "Переноспроекта>".
    Access скрывает бланк запроса и отображает режим SQL.
  5. Если страница свойств запроса не отображается, нажмите клавишу F4.
  6. На странице свойств щелкните поле свойства ODBC Connect Str и выполните одно из следующих действий:

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

  1. В области навигации щелкните правой кнопкой мыши таблицу, связанную с нужным источником данных, и выберите "Диспетчер связанных таблиц".
  2. В диалоговом окне "Диспетчер связанных таблиц" установите флажок для проверки источника данных и нажмите кнопку "Изменить".
  3. В диалоговом окне "Изменение ссылки " скопируйте текст из поля "Строка подключения ".
  1. Введите запрос в режиме SQL.
    Примечание. Между SQL в Access и TSQL SQL Server есть важные различия, особенно в том, что касается синтаксиса, имен функций и аргументов функций. Дополнительные сведения см. в статье Сравнение языков Access SQL и SQL Server TSQL.
    Совет Сначала создайте запрос TSQL в SQL Server Management Studio, а затем скопируйте и вставьте SQL-код в режим SQL. Это гарантирует правильный синтаксис запроса. Если у вас нет удобного доступа к базе данных SQL Server, рассмотрите возможность установки на свой настольный компьютер выпуска Microsoft SQL Server Express, который поддерживает до 10 ГБ и является бесплатным и простым способом выполнения и проверки миграции.

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

    • Возвращает записи Некоторые инструкции SQL возвращают записи, например SELECT, а некоторые — нет (например, UPDATE). Если запрос возвращает записи, установите для этого свойства значение Yes; Если запрос не возвращает записи, задайте для этого свойства значение "Нет".
      Примечание Запросы к серверу могут возвращать несколько наборов результатов, но в таблице, форме, отчете или переменной набора записей используется только первый набор результатов. Чтобы получить несколько результирующих наборов, используйте запрос на создание таблицы , как показано в следующем примере:

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

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

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

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

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

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

См. также

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

Запросы с помощью Transact-SQL