Какви методи за създаване на заявки знаете? Създаване (формиране) на заявки

Да приемем, че потребителят трябва да види всички документи в информационната база в един списък. Въпреки протестите на разработчика поради отрицателното въздействие върху производителността на това развитие, под натиска на ръководството беше решено да се направи такъв доклад.

Е, тъй като задачата изисква изпълнение, нека го направим!

Как да го направим

Нека веднага направим резервация, че отчетът ще показва две полета: „Връзка“ и „Предадено“. Всички документи имат тези стандартни данни. Ние ще генерираме заявка за получаване на всички документи програмно, заобикаляйки колекцията от метаданни „Metadata.Documents“. За всеки елемент от колекцията ще създадем заявка към неговата таблица, като използваме подробностите „Връзка“ и „Публикувано“ и след това ще комбинираме неговия резултат с резултата от подобна заявка към друг документ.

" ИЗБЕРЕТЕ | Док . Link AS Link,| Док . Проведено КАКТО Проведено |ОТ| Документ . ABCКласификация на купувачите AS Doc. Link AS Link,| Док . Проведено КАКТО Проведено |ОТ| Документ . AdvanceReport AS Doc|. КОМБИНИРАЙТЕ ВСИЧКИ |. ИЗБЕРЕТЕ | Док . Link AS Link,| Док . Проведено КАКТО Проведено |ОТ| Документ . Прехвърлен акредитив AS Doc|. КОМБИНИРАЙТЕ ВСИЧКИ | . . . "

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

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

Внедряване

Сега по ред. След като създадем външен отчет, ще добавим към него схема за съставяне на данни. Нека добавим следната заявка като заявка в набора от данни:

Като цяло в нашия случай няма значение какъв вид заявка ще има за набора от данни. Добавихме го само за да направим удобното персонализиране на структурата на отчета в дизайнера, тъй като в противен случай нямаше да има полета в раздела „Настройки“. Окончателната настройка на структурата на отчета е както следва:

Сега в манипулатора на събития „При композиране на резултат“ ще деактивираме стандартната обработка и ще генерираме отчета програмно. Програмният код за генериране на отчет за системата за контрол на достъп е представен в следния листинг:

Процедура при композиране на резултат (DocumentResult, данни за дешифриране, StandardProcessing) StandardProcessing = False; // деактивиране на стандартния изход на отчет - ще го изведем програмноНастройки = Композитор на настройките. Настройки; // Получаване на настройки за отчет DecryptionData = newDataCompositionDecryptionData; // Създаване на данни за дешифриране LayoutLinker = newDataLayoutLayoutLinker; // Създаване на конструктор на оформление // Инициализирайте оформлението на оформлението с помощта на схемата на оформлението на данните // и предварително създадени настройки и данни за дешифриране" ) ; Layout Layout = Layout Linker. Изпълнение (схема на оформление на данни, настройки, данни за дешифриране) ; // Съставете резултата CompositionProcessor = newDataCompositionProcessor; Разположение на процесора. Initialize(LayoutLayout, , DecryptionData) ; Резултат от документа. Clear() ; // Изведете резултата в документ с електронна таблица OutputProcessor = Нов OutputProcessorDataCompositionResultInTabularDocument; Изходен процесор. SetDocument(DocumentResult) ; Изходен процесор. Изход (LayoutProcessor) ; Край на процедурата

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

// .................................................................. DataLayoutSchema = GetLayout(" Схема на оформление на основните данни" ) ; // Вземете схемата за оформление на даннитеСхема за съставяне на данни. Набори от данни. Набор от данни1. Заявка = " " ; // Изчистване на заявката в набора от данни DocumentsConfigurations = Метаданни. документация; // Вземете колекция от метаданни на документиБрой документи = Конфигурационни документи. Количество() ; // Определяне на общия брой документи в конфигурацията Sch = 1; RequestText = " " ; За всеки документ от DocumentsConfiguration Loop Текст на заявка = Текст на заявка + // За всеки документ формираме текста на заявката за неговата таблица" ИЗБЕРЕТЕ | Док . Link AS Link,| Док . Проведено КАКТО Проведено |ОТ| Документ . " + Име на документ + " AS Doc " ; // Трябва само да заместим името на таблицата с документи в дървото с метаданни в текста на заявкатаАко сметка номер на документи тогава // Ако документът не е последният в колекцията, добавете инструкцията "COMBINE ALL" за RequestText = RequestText + // комбиниране на резултатите от заявки за документи в един списък" |ОБЕДИНЕТЕ ВСИЧКИ | " ; EndIf ; Sch = Sch + 1; Краен цикъл; Схема за съставяне на данни. Набори от данни. Набор от данни1. Заявка = RequestText; // Поставете новия текст на заявката в набора от данни LayoutLayout = LayoutLocator. Изпълнение (схема на оформление на данни, настройки, данни за декриптиране); // Съставяне на оформлението // ....................................................................

Докладът е готов за тестване.

какъв е резултатът

Нека изпълним отчета в режим 1C:Enterprise. Отчетът ще бъде изпълнен успешно и ще видим списък с всички документи в информационната база.

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

Заявката към таблиците на всички документи не е най-оптималното решение за преглед на пълния списък с документи в информационната база, тъй като генерира относително „тежка“ заявка за СУБД. Най-правилно би било да използвате конфигурационния обект „Регистър на документи“, но това е извън обхвата на тази статия.

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

Ако искате да научите повече за това как работят заявките, използвайки базата данни Northwind като пример, вижте статията Разбиране на заявките.

В тази статия

Главна информация

Когато има нужда от някои данни, рядко е необходимо цялото съдържание на една таблица. Например, ако имате нужда от информация от таблица с контакти, обикновено става дума за конкретен запис или просто за телефонен номер. Понякога е необходимо да се комбинират данни от няколко таблици наведнъж, например да се комбинира информация за клиенти с информация за клиенти. Заявките за избор се използват за избор на необходимите данни.

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

Ползи от запитванията

Заявката ви позволява да изпълнявате следните задачи:

    Преглеждайте стойности само от полета, които ви интересуват. Когато отворите таблица, се показват всички полета. Можете да запазите заявка, която връща само няколко от тях.

    Забележка:Заявката само връща данни, но не ги съхранява. Когато запазвате заявка, вие не запазвате копие на свързаните с нея данни.

    Комбинирайте данни от множество източници. В таблица обикновено можете да видите само информацията, която се съхранява в нея. Заявката ви позволява да изберете полета от различни източници и да посочите как точно искате да комбинирате информацията.

    Използвайте изрази като полета. Например поле може да бъде функция, която връща дата, и с помощта на функцията за форматиране можете да контролирате формата на стойностите от полетата в резултатите от заявката.

    Преглеждайте публикации, които отговарят на зададените от вас критерии. Когато отворите таблица, се показват всички записи. Можете да запазите заявка, която връща само няколко от тях.

Основни стъпки за създаване на заявка за избор

Можете да създадете заявка за избор с помощта на съветника или дизайнера на заявки. Някои елементи не са налични в съветника, но могат да бъдат добавени по-късно от дизайнера. Въпреки че това са различни методи, основните стъпки са подобни.

    Изберете таблиците или заявките, които искате да използвате като източници на данни.

    Посочете полетата от вашите източници на данни, които искате да включите във вашите резултати.

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

След като създадете заявка за избор, изпълнете я, за да видите резултатите. За да изпълните заявка за избор, отворете я в изглед на лист с данни. След като запишете заявка, можете да я използвате по-късно (например като източник на данни за формуляр, отчет или друга заявка).

Създайте заявка за избор с помощта на съветника за заявки

Помощникът ви позволява автоматично да създадете заявка за избор. Когато използвате съветник, нямате пълен контрол върху всички детайли на процеса, но заявката обикновено се създава по-бързо по този начин. Освен това съветникът понякога открива прости грешки в заявката и ви подканва да изберете различно действие.

Подготовка

Ако използвате полета от източници на данни, които не са свързани, съветникът за заявки ви подканва да създадете релации между тях. Той ще отвори прозорец за връзка, но ако направите някакви промени, ще трябва да рестартирате съветника. Следователно, преди да стартирате съветника, има смисъл незабавно да създадете всички релации, които вашата заявка ще изисква.

За повече информация относно създаването на релации между таблици вижте Ръководството за релации на таблици.

Използване на съветника за заявки

    В раздела Създаванев група Заявкищракнете върху бутона Съветник за заявки.

    В диалоговия прозорец Нова заявкаИзбери предмет Проста молбаи натиснете бутона Добре.

    Сега добавете полетата. Можете да добавите до 255 полета от 32 таблици или заявки.

    За всяко поле направете следните две стъпки:


  1. Ако не сте добавили никакви цифрови полета (полета, които съдържат числови данни), преминете към стъпка 9. Когато добавите числово поле, ще трябва да изберете дали заявката да върне подробности или общи суми.

    Направете едно от следните неща:


  2. В диалоговия прозорец Резултатизадайте задължителните полета и типове обобщени данни. В списъка ще бъдат налични само цифрови полета.

    За всяко числово поле изберете една от следните опции:

    1. Сума- заявката ще върне сумата от всички стойности, посочени в полето.

      ср- заявката ще върне средната стойност на полето.

      Мин- заявката ще върне минималната стойност, посочена в полето.

      Макс- заявката ще върне максималната стойност, посочена в полето.


  3. Ако искате резултатите от заявката да показват броя на записите в източника на данни, поставете отметка в съответното квадратче Пребройте броя на записите в (име на източник на данни).

    Кликнете Добреза да затворите диалоговия прозорец Резултати.

    Ако не сте добавили никакви полета за дата и час към вашата заявка, преминете към стъпка 9. Ако сте добавили полета за дата и час към вашата заявка, съветникът за заявки ви подканва да изберете как да групирате стойностите за дата. Да приемем, че сте добавили числово поле („Цена“) и поле за дата и час („Време_на_транзакцията“) към заявката и след това в диалоговия прозорец Резултатипосочи, че искате да покажете средната стойност за цифровото поле „Цена“. Тъй като сте добавили поле за дата и час, можете да изчислите суми за всяка уникална стойност за дата и час, като например всеки месец, тримесечие или година.


    Изберете периода, който искате да използвате за групиране на стойности за дата и час, след което щракнете По-нататък.

    На последната страница на съветника въведете име за заявката, посочете дали искате да я отворите или редактирате и щракнете върху Готов.

    Ако изберете да отворите заявка, тя ще покаже избраните данни в изглед на лист с данни. Ако решите да редактирате заявката, тя се отваря в изглед за проектиране.

Създаване на заявка в изглед за проектиране

В изглед за проектиране можете ръчно да създадете заявка за избор. В този режим имате повече контрол върху процеса на създаване на заявка, но е по-лесно да правите грешки и отнема повече време, отколкото в съветника.

Създайте заявка

Стъпка 1: Добавете източници на данни

В режим на проектиране източниците на данни и полетата се добавят на различни етапи, тъй като диалоговият прозорец се използва за добавяне на източници Добавяне на таблица. Винаги обаче можете да добавите допълнителни източници по-късно.

Автоматично свързване

Ако релациите вече са дефинирани между източниците на данни, които добавяте, те автоматично се добавят към заявката като връзки. Съединенията определят как трябва да се комбинират данни от свързани източници. Access също автоматично създава съединение между две таблици, ако те съдържат полета със съвместими типове данни и едно от тях е първичен ключ.

Можете да персонализирате връзките, добавени от Access. Access избира типа връзка, която да създаде въз основа на връзката, която съответства на нея. Ако Access създаде съединение, но няма дефинирана връзка за него, Access добавя вътрешно съединение.

Повторно използване на един източник на данни

В някои случаи можете да обедините две копия на една и съща таблица или заявка, което се нарича самообединяване, и ще обедините записи от една и съща таблица, ако има съвпадащи стойности в обединените полета. Да приемем например, че имате таблица Служители, в която полето „докладва се на“ за записа на всеки служител показва техния ИД на мениджър вместо името им. Можете да използвате самосъединяване, за да покажете името на мениджъра в записа на всеки служител.

Когато добавите източник на данни за втори път, Access ще завърши името на второто копие с „_1“. Например, ако добавите отново таблицата Employees, втората й инстанция ще бъде наречена Employees_1.

Стъпка 2: Свържете свързани източници на данни

Ако източниците на данни, добавени към заявката, вече имат релации, Access автоматично създава вътрешно съединение за всяка релация. Ако се използва целостта на данните, Access също показва "1" над линията за свързване, за да покаже коя таблица е от страната "едно" на елемента на връзката "един към много" и символа за безкрайност ( ), за да покаже коя таблица е от страната "много".

Ако сте добавили други заявки към заявка и не сте създали релации между тях, Access не създава автоматично съединения между тях или между заявки и таблици, които не са свързани. Ако Access не създава връзки, когато добавяте източници на данни, обикновено трябва да ги създадете ръчно. Източници на данни, които не са свързани с други източници, могат да причинят проблеми в резултатите от заявката.

Можете също да промените типа на свързване от вътрешно съединение към външно съединение, така че заявката да включва повече записи.

Добавяне на връзка

Промяна на връзката

След като връзките са създадени, можете да добавите изходни полета: те ще съдържат данните, които искате да покажете в резултатите.

Стъпка 3: Добавете полета за показване

Можете лесно да добавите поле от всеки източник на данни, който сте добавили в стъпка 1.

    За да направите това, плъзнете полето от източника в горната област на прозореца на дизайнера на заявки надолу до реда Полеформуляр за заявка (в долната част на прозореца на дизайнера).

    Когато добавите поле по този начин, Access автоматично попълва реда Таблицав таблицата на дизайнера според източника на данни на полето.

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

Използване на израз като изходно поле

Можете да използвате израз като изходно поле за изчисления или за генериране на резултати от заявка с помощта на функция. Изразите могат да използват данни от всеки източник на заявка, както и функции като Format или InStr, константи и аритметични оператори.

Стъпка 4: Посочете условия

Не е задължително.

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

Определяне на условия за поле за показване

Условия за множество полета

Условия могат да бъдат зададени за множество полета. В този случай всички условия в съответния ред трябва да бъдат изпълнени, за да може записът да бъде включен в резултатите Условия за изборили Или.

Задаване на условия въз основа на поле, което не е включено в изхода

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

    Добавете поле към таблицата със заявки.

    Махнете отметката за него в реда Покажи.

    Задайте условията като за изходното поле.

Стъпка 5: Изчислете общите суми

Тази стъпка не е задължителна.

Можете също да изчислите суми за числови данни. Например, може да искате да видите средна цена или общи продажби.

За да изчисли общите стойности, заявката използва низа Обща сума. Низ по подразбиране Обща сумане се появява в режим на проектиране.

За да видите резултатите от заявката, щракнете върху раздела Дизайн Изпълни. Access показва резултатите от заявката в изглед на лист с данни.

За да се върнете в режим на проектиране и да направите промени в заявката, щракнете У дома > Преглед > Конструктор.

Персонализирайте полета, изрази или условия и изпълнете отново заявката, докато върне данните, които искате.

Създайте заявка за избор в Access за уеб

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


От Microsoft предоставя на потребителите широки възможности за създаване и работа с бази данни. В наши дни базите данни се използват много широко във всякакви области и области. Като цяло можем да кажем, че сега не можем без тях. В тази връзка е много важно да можете да работите с таблици на Access. Основният елемент от взаимодействието на потребителя с базата данни е заявката. В тази статия ще разгледаме по-отблизо как да създадете заявка в Access. Да започваме. Отивам!

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

  • За извадка (позволяват ви да получавате данни и да извършвате операции върху тях);
  • За промяна (позволява ви да добавяте, изтривате и променяте стойности).

Сега да преминем към практиката. Отидете в раздела „Създаване“ и щракнете върху бутона „Конструктор на заявки“. В прозореца, който се отваря, изберете една или повече таблици, от които искате да изберете данни. С натискане на бутона "Изпълни" ще получите цялата информация от избраните от вас таблици. За по-конкретен избор отидете в раздела „Дизайнер“ и въведете желаната дума или число в полето „Условие за избор:“. Например искате да получите списък на всички служители, родени през 1980 г. За да направите това, въведете 1980 в колоната „Дата на раждане“ в реда „Условие за избор:“ и щракнете върху бутона „Изпълни“. Програмата незабавно ще ви даде резултат. За удобство можете да запазите създадената заявка, за да я използвате в бъдеще. Използвайте клавишната комбинация Ctrl+S и въведете името в съответното поле, след което щракнете върху „OK“.

Като зададем условието за избор на данни, получаваме желаната извадка

За да преброите стойностите в колона, можете да използвате това, което се нарича групови операции. За да направите това, в раздела „Дизайн“ кликнете върху бутона „Резултати“. В реда „Групиране“, който се появява, изберете функцията „Брой“, която ви позволява да сумирате всички ненулеви стойности. За да предотвратите показването на думата „Брой“ в заглавието на колоната, в реда „Поле“ въведете името преди указаното по-рано. Записването става по същия начин с комбинацията Ctrl+S.

Достъпът брои непразните клетки

Сега нека създадем параметрична заявка. Позволява ви да направите избор въз основа на въведения параметър. Например до дадена дата. След като отворите желаната база данни, напишете (без кавички) в съответната колона „[Въведете дата]“. Необходими са квадратни скоби. В прозореца, който се показва, въведете желаната дата. След това програмата автоматично ще направи избор въз основа на въведената от вас дата. Можете да поставите ">" (по-голямо от) и "<» (меньше) чтобы отобразить элементы раньше либо позже заданной даты. Например, список сотрудников, которые сдали отчёты до 01.07.

Как да създадете кръстосана препратка? Просто намерете бутона „Кръст“ в лентата с инструменти и щракнете върху него. След това в елемента „Crosstab“ изберете „Заглавия на редове“ в първата клетка, „Заглавия на колони“ във втората и „Стойност“ в третата. След това можете да преброите стойностите, като използвате вече споменатата по-горе функция „Брой“. Моля, обърнете внимание, че ако посочите „Заглавия на редове“ във втората клетка, същото като в първата, вместо „Заглавия на колони“, тогава нищо няма да работи. Не забравяйте да вземете това предвид.

Правим кръстосано запитване в базата данни

Можете също така да направите заявка за създаване на таблица. Как се прави? Просто отворете базите данни, с които работите, след това попълнете клетката „Условие за избор“ и щракнете върху бутона „Създаване на таблица“. Не забравяйте да щракнете върху „Изпълни“. Microsoft Access ще изгради нова таблица въз основа на зададените от вас параметри. Например списък на всички служители с тяхната информация за контакт по професия „Счетоводител“.

Когато записвате, трябва да посочите името и местоположението на новата таблица

Както можете да видите, Access от Microsoft ви позволява да правите много неща. Знаейки как да правите заявки в Access, ще се почувствате много по-уверени при работа с бази данни. Напишете в коментарите дали тази статия е била полезна за вас и задавайте въпроси по обсъжданата тема.

Лекция 16. Създаване на заявки с помощта на инструменти Г-ЦАДостъп 2000

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

§ свързване на данни от няколко таблици;

§ показва само задължителни полета;

§ формиране на комплексни критерии за подбор на записи;

§ изчисления с използване на данни от изходни таблици;

§ групиране на информация по всякакви критерии;

§ промяна на данни в таблици.

MS Access предоставя удобни механизми за бързо създаване на заявки без специална подготовка, докато други СУБД често изискват познаване на езикови инструменти за създаване на заявки. За създаване на заявки MS Access предлага следните инструменти:

§ Създател на заявки – инструмент за конструиране на заявки чрез QBE (Query by example), изискващ минимални познания. Лек отстъпва на режима SQL.

§ Проста молба – позволява бързо създаване на заявки въз основа на една или повече таблици, включително обобщени заявки.

§ Кръстосано искане – позволява ви да създавате резултатни таблици въз основа на резултатите от изчисленията, получени от анализиране на група таблици;

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

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

Създаването на заявки започва с избиране на категорията „Заявки“ в диалоговия прозорец „Бази данни“. След това с помощта на бутона „Създаване“ може да се извика диалоговият прозорец „Нова заявка“, в който се избира една от опциите за създаване на заявка (Фигура 16.1).

Фигура 16.1 - Диалогов прозорец за нова заявка

Създавайте прости заявки с помощта на съветника

Съветникът за заявки ви позволява да създадете заявка на базата на една или повече таблици с възможност за групиране (крайна заявка), но без да дефинирате условията за избор, поради което се нарича „Опростена заявка“.


Фигура 16.2 - Прозорец на съветника за създаване на заявка

Процесът на създаване на заявка с помощта на съветника се свежда до следните стъпки:

§ Стартира се съветникът за създаване на прости заявки, например с командата - Създайте заявка с помощта на съветника

§ в падащия списък „Таблици и заявки“ таблиците или заявките, от които потребителят се нуждае от информация, се избират последователно и след това задължителните полета се преместват от списъка „Налични полета“ в списъка „Избрани полета“ (Фигура 16.2 ).

§ Във втората стъпка на съветника се определя типът на заявката: подробна или обобщена. Ако е избрана крайна заявка, тогава е необходимо да се дефинират крайни операции върху полетата на заявката: Max, Min, Sum, Avg или Count.

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

Създаване на заявка в изглед за проектиране

Конструкторът рядко се използва за създаване на заявки; по-често се използва като средство за модифициране на съществуващи. Създателят на заявки използва QBE (Заявка чрез пример) ви позволява да създавате относително сложни заявки въз основа на специална форма, попълването на която ви позволява да създадете заявка, разбира се, този метод е по-нисък от директното използване на езикови конструкции SQL , но изисква значително по-малко знания.

Ако е необходимо, можете да използвате езика SQL , за това трябва да превключите на режим SQL , преходът се извършва от командата от контекстното меню на дизайнера на заявки – „Режим SQL".

Прозорецът на дизайнера (Фигура 16.3) е разделен на две части. Горната част е предназначена за местоположението на таблици, въз основа на които се генерира заявката. Добавянето на таблици към заявка се извършва с помощта на командата от лентата с инструменти - Показване на таблицата.


Фигура 16.3 - Прозорец на дизайнера на заявки. Пример за въвеждане на условие.

Долната част е формулярът за заявка (QBE), sТова е мястото, където се изгражда самата заявка. Оформяне на заявка в QBE извършва се чрез дефиниране на таблици и полета, участващи в заявката, изходни параметри, сортиране, определяне на условия за избор, изчисления и др.

Включването на нови полета в заявка става чрез просто плъзгане на името на полето от списъците с полета на таблицата (горната част на дизайнера) в необходимата колона на реда „Поле:“ и името на таблицата се определя автоматично.

Ако е необходимо да сортирате по което и да е поле в колона на това поле, свойството „Сортиране“ се задава на стойност Възходящили Спускане, като изберете от падащия списък.

Ред – „Изход към екрана“ контролира показването на полетата в резултатния набор от данни, получени в резултат на изпълнение на заявката.

За всяко от полетата можете да зададете условие за избор, като по този начин филтрирате данните.

Полетата за заявка наследяват свойствата, зададени за съответните полета на таблицата, но можете да промените формата на показване на полетата. За да промените формата на показване на полетата, използвайте командата от контекстното меню - Имоти.

Брой редове в QBE може да варира в зависимост от типа на създаваната заявка, например, когато използвате групиране, ще се появи нов ред - „Групова операция“.

Задаване на критерии за избор на запис

Дефинирането на критерии за избор в заявките е една от основните задачи. За да генерирате набора от данни, изискван от потребителя, е необходимо да дефинирате стойностите на условията за избор в реда „Условие за избор:“ QBE. В условията за избор можете да използвате логически оператори (или, и, не), оператори за сравнение ( <, >, <=, >=, <>, = ), както и операториМежду, вИкато.

Можете да зададете няколко условия за избор, свързани с логически оператор или ( или) , за някое поле по един от двата начина:

1. въведете цялото условие в една клетка на реда „Условие за избор:“ , използване на логически оператор или (или).

2. посочете една част от условието в клетката на реда „Условие за избор:“ и въведете втората част от условието в долната клетка на реда „Или:“.

И двете опции ще бъдат еквивалентни, втората опция е показана на Фигура 16.4.Резултатът от тази заявка ще бъде списък с ученици с оценки 4 или 5.


Фигура 16.4 - Използване на логически оператор или ( или) .

Логическа операция И ( и) използва се, когато и двете условия трябва да бъдат изпълнени едновременно, преди записът да бъде включен в резултантния набор от данни. Например състоянието >2 и<5 ще даде списък на учениците с 3 и 4 оценки.

Логическа операцияиможе да се използва не само за едно поле, но и за няколко полета, условията в които трябва да бъдат изпълнени едновременно, но в този случай се използва имплицитно. Фигура 16.5 показва неявното използване на логическа операцияи. В резултат на такова искане ще бъдат издадени всички студенти, живеещи в град Уфа Икато има рейтинг 5. Всъщност, ако погледнете кода SQL (в SQL режим ), тогава можете да видите следното условие:

[Студенти] [Град] = „Уфа“ и [Студенти и класове] [Резултат] = „5“


Фигура 16.5 – Пример за използване на логическа операция И ( и)

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

Оператор б между ви позволява да зададете диапазон от стойности, например диапазонът от 10 до 20 може да бъде дефиниран както следва:

между 10 и 20

Оператор аз н ви позволява да използвате списък от стойности, посочени като аргумент за сравнение. Например:

в("първи втори трети")

Оператор Л Айк полезно за търсене на модели в текстови полета и ви позволява да използвате шаблони:

* - обозначава произволен брой знаци;

Всеки отделен знак;

# - показва, че тази позиция трябва да съдържа число.

Например, за да изберете фамилия, започваща с буквата P и завършваща с „ov“, можете да напишете следното условие:

катоП*сс

Специален подход при работа с полета за дата. Стойността на датата в условията за избор трябва да бъде оградена с # символа. Например:

>#31.12.1996#

Ако трябва да подчертаете временни събития от определен ден, месец или година, можете да използвате вградените функции MS Access:

§ ден(дата на)– връща стойността на деня от месеца в диапазона от 1 до 31;

§ месец(дата на)– връща стойността на месеца в диапазона от 1 до 12;

§ година(дата на)– връща стойността на годината в диапазона от 100 до 9999;

Текущата дата може да се определи с помощта на функциятаСега (), използвани без аргументи.

Изчисляеми полета

В заявките за избор можете да дефинирате изчислени полета, чиито стойности ще бъдат получени в резултат на всякакви аритметични операции върху полетата, участващи в заявката. Например, ако трябва да определите размера на бонуса, равен на 15% от заплатата, можете да напишете следния израз в реда „Поле“ на свободната колона на формуляра за заявка:

Бонус: [Заплата]*0.15

Това ще създаде изчисляемо поле с име „Доплащане“, съдържащо резултата от изчислението за всеки ред от резултантния набор от данни.

Когато създавате изрази за изчисляеми полета, можете да използвате“Expression Builder”, който може да бъде извикан от бутона “Build” на лентата с инструменти.

В горната част на прозореца има поле за въвеждане, в което изразът може да се редактира. Изразът може да се въведе ръчно, но обикновено се използват бутоните за аритметичен и логически оператор, разположени под полето за въвеждане. Долният среден списък съдържа списък с полета, включени в заявката; тези полета могат да се използват в израз. Полетата се добавят чрез двукратно щракване на мишката или чрез щракване върху бутона „Вмъкване“. pi полета от полета, включени в заявката, които могат да се използват в изрази.

Да речем, че има заявка „Издаване на стоки от склад“, която съдържа полетата „КолОтп“ (издадено количество) и „Цотп“ (продажна цена), трябва да определите сумата на продажбите. Отворете заявката в режим на проектиране, отидете на празна колона и стартирайте създателя на изразикоманда “Build”, контекстно меню. Намерете името на полето „Tsotp“ в средния списък и щракнете двукратно върху него. Натиснете бутона „*“ и повторете същата последователност от действия за полето „ColOtp“. Получаваме необходимия израз (Фигура 16.6).


Фигура 16.6 - Прозорец на конструктора на изрази

Преди да приложите създадения от вас израз, се препоръчва да дефинирате име за изчисляемото поле, като например „Сума“:

Сума: [COTp]*[CopTp]

След като щракнете върху „OK“, полученият резултат ще бъде поставен в нова колона на формуляра QBE.

Контролни въпроси

1. Какво е заявка?

2. Какви са функциите на заявката?

3. В какви методи за създаване на заявки съществуват MS Access?

4. Какви са разликите между различните методи за заявки?

5. Как да създадете заявка с помощта на съветника?

6. Какво представлява формуляра за заявка?

7. Как да създадем условия за избор на записи?

8. Назовете основните логически оператори.

9. Какъв е операторът b между?

10. Каква е целта на оператораКато?

11. Как се създават изчисляемите полета?

12. Предимства и недостатъци на конструктора на заявки?


Задачи за самостоятелна работа

Упражнение 1. Създайте заявка „Просрочени книги“ със следното описание:

1. В прозореца „Бази данни“ изберете категорията „Заявки“.

2. Отворете прозореца на съветника с командата „Създаване на заявка с помощта на съветника“.

3. В падащия списък „Таблици и заявки“ изберете таблицата „Книги“. От списъка „Налични полета“ в списъка „Избрани полета“ преместете полетата „Заглавие“ и „Автор“.

4. В падащия списък „Таблици и заявки“ изберете таблицата „Екземпляри“. От списъка „Налични полета“ в списъка „Избрани полета“ преместете полетата „Инвентарен номер“ , "Дата на връщане" И „Наличност“.

5. В падащия списък „Таблици и заявки“ изберете таблицата „Четци“. От списъка „Налични полета“ в списъка „Избрани полета“ преместете полетата „Number_BW“, „Пълно име“, „Tel_home“, „Tel_work“. Щракнете върху бутона "Напред".

6. На този етап изберете подробна заявка и щракнете върху бутона „Напред“.

7. Посочете името на заявката Просрочени_книгии щракнете върху бутона „Край“.

8. Нека отворим заявката „Overdue_Books“ в режим на проектиране, като щракнете върху бутона „Дизайн“ (Фигура 16.7).


9. Във формуляра за заявка в реда „Условие за избор“ за полето „Дата_на_връщане“ посочваме стойността < Сега().

10. Във формуляра за заявка в реда „Условие за избор“ за полето „Наличност“ задайте стойността Неи премахнете отметката от квадратчето „Изход към екрана“.

11. Нека затворим прозореца на дизайнера.

По този начин избраните записи трябва да отговарят на две условия едновременно: датата на връщане трябва да е по-малка от текущата и книгата не трябва да е в библиотеката.

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

Задача 3. От заявката „Просрочени_книги“ извлечете информация за длъжници (номер на библиотечна карта, трите имена, домашен и служебен телефон)

Задача 4. Създайте заявка за получаване на списък с книги от един автор.

Заявките са един от типовете документи, използвани в СУБД на Access, които са предназначени да обработват данни, съхранявани в таблици

В режим могат да се създават заявки дизайнери с помощта майстори. Дизайнерът ви позволява сами да създавате всякакъв тип заявки, но този режим се препоръчва за потребители, които вече имат известен опит в създаването на заявки.

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

С помощта на съветници в Access можете да създавате следните типове заявки:

§ Проста заявка.

§ Кръстосано искане.

§ Дублирани записи.

§ Записи без подчинени.

За да създадете някоя от тях, изберете обекта Заявки в прозореца на базата данни и щракнете върху бутона Създай. Ще се отвори прозорецът Нова заявка, чийто външен вид е показан на фиг. 1.

Фигура 1 Прозорец на база данни за състояние и прозорец за избор на типове заявки

Проста молбави позволява да създавате с помощта на майстори примерна заявкаданни от определени полета на таблици или заявки, това е най-удобно за начинаещи потребители. Когато го изберете, стартира съветникът, в първия прозорец на който (фиг. 2) трябва да изберете таблица в списъка Таблици и заявки, например Персонал на учители, изберете от списъка с наличните му полета тези, които трябва да присъства в заявката и преведете всеки чрез натискане на [> ]. По подобен начин към заявката се добавят полета от други таблици в същата база данни.

Забележка.Заявката може да бъде направена само върху таблици или само върху заявки към база данни. Комбинирането на полета от таблица и заявка в заявка не е разрешено.

Фигура 2 Избор на полета за заявка.

Кръстосано исканеизглежда като маса , в която се показват до три полета (колони) от оригиналната таблица, клетките на една от останалите се преобразуват в нови колони, а в пресечната им точка се показва една от зададените от потребителя стойности - Variance, Minimum, Максимум, Средно, Отклонение, Брой, Първо, Последно и т.н. Например заявката на фиг. 4 е кръстосана заявка на таблица 1 на фиг. 3, в който стойностите на разстоянието станаха имената на колоните:

опция Дублирани записисъздава заявка за търсене на дублиращи се записи (редове) в една таблица или заявка, за таблицата на фиг. 3, с дадените полета Distance и Fare изглежда така (фиг. 5)

MS Access ви позволява да създадете такава заявка само за една таблица или заявка (не за няколко таблици на база данни) и трябва да посочите в нея

Фигура 3 Таблица 1 за създаване на кръстосана заявка


Фигура 4 Кръстосана заявка на таблица. 1

само тези полета, в които има пълно едновременно съвпадение на данни от записите (например полето Транспорт не може да бъде включено в тази заявка). Освен това за разпознаване можете да включите неповтарящо се поле (Град).

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

Фигура 6 Основна таблица 1

Заявка без подчинени за сравнение на таблици Фиг. 3 и фиг. 6 ще покаже несъвпадаща линия (фиг. 7):

Тези заявки са основата за създаване на по-сложни заявки, които използват режим на проектиране.



Дял