Създаване на транзитна заявка
Applies ToAccess за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Можете да използвате Access като клиент на приложение и след това да се свържете към таблици в сървър на сървър, като например SQL Server. По подразбиране повечето заявки се изпълняват локално в ядрото на базата данни на Access ACE. В някои случаи Access може да изпълни заявка отдалечено в SQL Server в зависимост от синтаксиса на SQL и други фактори. За повече информация вижте "JET Database Engine 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. Изберете Компилация Бутон "Конструктор".

    2. Следвайте подканите, за да създадете DSN файл, съдържащ информацията за низа на връзката. За подробни стъпки вижте Импортиране или свързване към данни в база данни на SQL Server и Връзка към или импортиране на данни от база данни на Azure SQL Server.

    След като създадете 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. Ако заявката връща записи, задайте това свойство на Да; ако заявката не върне записи, задайте това свойство на Не.

      Забележка    Транзитните заявки могат да връщат множество набори от резултати, но в променлива лист с данни, формуляр, отчет или набор записи се използва само първият набор резултати. За да извлечете няколко набора резултати, използвайте заявка за създаване на таблица , както е показано в следния пример:

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

      Трябва да използвате звездичка (*), защото всеки набор от резултати може да има различни колони. Всеки набор от резултати се записва в отделна таблица, а числата съответно се добавят към локалните имена на таблиците. Ако например са върнати три набора от резултати, имената на таблиците ще бъдат: <> на локално име на таблица, <локално име на таблица>1 <локално име на таблица>2.

    • Регистриране на съобщения    Задайте дали да се връщат съобщения от SQL базата данни в таблица със съобщения на Access. Името на таблицата има формат, потребителско име – nn, където потребителско име е името за влизане за текущия потребител, а nn е число, започващо от 00.

    • Време на изчакване на ODBC    Задайте броя секунди, които да се изчакват, преди да възникне грешка за изчакване, когато се изпълнява заявка. Стойността по подразбиране е 60 секунди. Може да има забавяния поради мрежовия трафик или тежко използване на сървъра за база данни.

    • Максимален брой записи    Задайте максималния брой записи, които да бъдат върнати. Може да имате ограничени системни ресурси или искате да тествате резултатите само с малко количество данни.

  9. Когато приключите с въвеждането на заявката, изберете Проектиране > Изпълнение. Вашата заявка се изпраща до сървъра на базата данни за обработка.

Вж. също

Transact-SQL Reference

Заявка с Transact-SQL

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.