Параметризирани заявки
Въведение
Параметризирана заявка е заявка, на която липсва стойност в критерий. Думата "липсва" тук изглежда отрицателна, за да показва нещо лошо в заявката, но не е така. Заявката е нарочно създадена така, за да бъде предоставена стойност на нейния филтър. В момента на създаване на заявката, филтърът се настройва по определен начин.
Параметризирана заявка е заявка, на която липсва стойност в критерий. Думата "липсва" тук изглежда отрицателна, за да показва нещо лошо в заявката, но не е така. Заявката е нарочно създадена така, за да бъде предоставена стойност на нейния филтър. В момента на създаване на заявката, филтърът се настройва по определен начин. Когато заявката се изпълнява, липсващата стойност трябва да бъде предоставена, за да се изпълни критерият, след това заявката е завършена и се произвежда резултатът от заявката. През повечето време се създава параметризирана заявка, така че потребителят трябва да посочи конкретния(ите) запис(и) за създаване.
Въпреки че посочихме, че заявката е параметризирана, всъщност параметризира се SQL изразът. Това означава, че можете да създадете SQL израз, използван като източник на запис на формуляр или отчет, но да задължите потребителя да предостави липсващата информация, така че формулярът или отчетът да показват само записа(ите), които използват(ите) тази стойност.
Практическо обучение:Въвеждане на параметризирани заявки
- Стартирайте Microsoft Access
- В списъка с файлове щракнете върху Altair Realtors3 от предишния урок
- На лентата щракнете върху Създаване и щракнете върху Дизайн на заявка
- В диалоговия прозорец Показване на таблица щракнете върху Свойства, щракнете върху Добавяне и щракнете върху Затвори
- В горния списък щракнете двукратно върху PropertyNumber, PropertyType, City, Bedrooms, Bathrooms, FinishedBasement, IndoorGarage, Condition и MarketValue
- За да видите резултатите, в лентата на състоянието щракнете върху бутона Лист с данни
- Ако е необходимо, на лентата щракнете върху Начало.
Променете следните характеристики:
Име на шрифта:Calisto MT (ако нямате този шрифт, изберете Times New Roman)
Цвят на фона:Зелен, Акцент 6, По-светъл 40% (Цветове на темата:10-та колона, 4-ти ред)
Алтернативен цвят на ред:зелен, акцент 6, по-светъл 80% (цветове на темата:10-та колона, 2-ри ред) - След като прегледате резултата, в секцията Изгледи на лентата щракнете върху стрелката под бутона Изглед и щракнете върху SQL Изглед
- Променете SQL израза, както следва:
SELECT Properties.PropertyNumber, Properties.PropertyType AS [Property Type], Properties.City, Properties.Bedrooms AS Beds, Properties.Bathrooms AS Baths, Properties.FinishedBasement AS [Basement?], Properties.IndoorGarage AS [Garage?], Properties.Condition, Properties.MarketValue AS [Market Value] FROM Properties;
- Показване на изгледа за проектиране на заявката
Създаване на параметризирана заявка
Когато създавате параметризирана заявка, трябва да й предоставите параметър. За да продължите, отворете заявката в Design View и изберете необходимите колони. В полето Критерии на полето, което ще съдържа критериите, въведете квадратните скоби[]. В скобите въведете всичко, което искате, като съобщение или въпрос. Съобщението или въпросът ще бъдат представени на потребителя, който трябва да въведе стойност в текстово поле. След като потребителят предостави стойността и щракне OK или натисне Enter, заявката ще се изпълни.
Практическо обучение:Създаване на параметризиран SQL израз
- Щракнете върху полето Критерии за колоната PropertyNumber и въведете:[Въведете свойството # за преглед:]
- Превключете заявката към изглед на лист с данни, за да видите резултата
- Въведете номера на имота като 192703
- Щракнете върху OK
- Върнете се към изгледа за дизайн
- Изтрийте [Въведете свойството # за преглед:]
- Щракнете върху полето Критерии за колоната Тип на свойството и въведете:[Въведете типа имот, който искате да видите:]
- Превключете заявката към изглед на лист с данни, за да видите резултата
- Въведете типа имот като градска къща
- Натиснете Enter
- Върнете се към изгледа за дизайн
Параметризирана връзка
Можете да създадете параметризирана заявка, която задава два или повече въпроса, които трябва да бъдат комбинирани, за да завършите заявката. За да направите това, в изгледа за проектиране на заявката въведете съобщение за полето Критерии на всяка колона.
Практическо обучение:Създаване на параметризирана дизюнкция
- Щракнете върху полето Критерии за колоната Спални и въведете [Колко спални имате нужда?]
- Превключете заявката към изглед на лист с данни, за да видите резултата
- Въведете типа собственост като единично семейство и натиснете Enter
- Въведете броя на спалните като 5 и натиснете Enter
- Върнете се към изгледа за дизайн
- Изтрийте [Колко спални имате нужда?]
Параметризирана дизюнкция
Параметризирана дизюнкция изисква две или повече стойности. Заявката произвежда всички записи, които включват някоя от стойностите. За да създадете такава параметризирана заявка, добавете първия въпрос или съобщение към полето Критерии на желаното поле. След това добавете второто съобщение или въпрос към полето Или на същата колона. Ако имате нужда от допълнителни стойности, въведете техните въпроси или съобщения в полетата под клетката Или на същата колона.
Практическо обучение:Създаване на параметризирана дизюнкция
- Щракнете върху полето Или на колоната Тип собственост и въведете [Какъв друг тип собственост искате да видите?]
- Превключете заявката към изглед на лист с данни, за да видите резултата
- Въведете първия тип имот като градска къща и натиснете Enter
- Въведете втория тип собственост като единично семейство и натиснете Enter
- Затворете заявката, без да я запазвате
Заявки за действие
Въведение
Microsoft Access предоставя някои готови заявки, които ви позволяват да изпълнявате полусложни действия върху съществуващи таблици. Действията се извършват като заявки. Когато използвате заявка за действие, вие не създавате обикновена заявка в стриктния смисъл. Повечето от тези заявки обикновено са полезни само веднъж. Поради тази причина едва ли ще трябва да ги запазвате.
Заявката за действие Make Table
Вместо първо да създадете таблица и след това да я попълните със стойности, ако вече имате стойности, съхранени в таблица, Microsoft Access ви позволява да създадете нова таблица, пълна със стойности от тази таблица.
Използвайки заявки, има две основни техники, които можете да използвате, за да създадете нова таблица за вашата база данни. Microsoft Access предоставя техника, наречена Make Table Query. Този тип заявка се използва за извличане на всички или някои полета на съществуваща таблица и вместо да създавате нова заявка, която зависи от съществуваща таблица, ще получите чисто нова таблица, независима от съществуваща таблица. Този тип действие може да ви позволи да създадете нова таблица въз основа на правило, приложено към съществуваща таблица.
За да създадете таблица с помощта на заявка в Microsoft Access, стартирайте нова заявка в Design View. След това в секцията Тип на заявката на лентата щракнете върху бутона Направи таблица . Това ще ви представи диалогов прозорец „Създаване на таблица“, който ви позволява да зададете ново име за заявката или да изберете съществуваща таблица, която ще получи новите данни.
Практическо обучение:Използване на заявки за създаване на таблица
- Базата данни на Altair Realtors3 все още трябва да бъде отворена.
На лентата щракнете върху Създаване и в секцията Заявки щракнете върху Дизайн на заявка - В диалоговия прозорец Показване на таблици щракнете върху Свойства, щракнете върху Добавяне и щракнете върху Затвори
- В секцията Тип на заявката на лентата щракнете върху бутона Направи таблица
- В комбинираното поле Име на таблица въведете Етажни собствености като името на таблицата
- Уверете се, че е избран радио бутонът Текуща база данни и щракнете върху OK
- В списъка с свойства щракнете двукратно върху PropertyNumber, PropertyType, City, Locality, State, Bedrooms, Bathrooms, FinishedBasement, IndoorGarage, Condition и MarketValue
- В долната част на прозореца щракнете върху полето Критерии за колоната PropertyType и въведете condominium
- Щракнете върху квадратчето за отметка на Покажи, за да премахнете отметката
- За да създадете таблицата, щракнете върху бутона Изпълни на лентата
- Ще получите съобщение
- Прочетете го и щракнете върху Да
- Затворете заявката, без да я запазвате
- В навигационния екран щракнете двукратно върху таблицата Етажна собственост
- Затворете таблицата
Заявката за актуализиране
Ако имате голям списък и много записи трябва да получат обща промяна, можете да създадете специална заявка, наречена Заявка за актуализиране. Заявката за актуализиране ви позволява да промените съществуващите стойности на една или повече колони на таблица. С други думи, можете да извлечете стойностите, които вече са в полетата на таблица, да промените тези стойности и да запазите таблицата с тях.
За да създадете заявка за добавяне, стартирайте заявка в изгледа за проектиране. В секцията Тип на заявката на лентата щракнете върху бутона Актуализиране . Когато създавате заявката, ще трябва да зададете условие, че Microsoft Access ще приложи към таблица, за да разберете какви записи трябва(и) да бъдат актуализирани. За да направите това, използвате полето Критерии на колона, точно както научихме по време на анализа на данните.
Практическо обучение:Актуализиране на записи
- Отворете базата данни Metro System1 от урок 18
- В навигационния екран щракнете двукратно върху таблицата Silver Line, за да видите нейните записи
- Затворете таблицата
- На лентата щракнете върху Създаване и в секцията Заявки щракнете върху Дизайн на заявка
- В диалоговия прозорец Показване на таблици щракнете върху Сребърна линия, щракнете върху Добавяне и щракнете върху Затвори
- В секцията Тип на заявката на лентата щракнете върху бутона Актуализиране
- В горния списък щракнете двукратно върху MetroLine
- В долната част на прозореца щракнете върху полето Критерии за колоната MetroLine и въведете Silver
- За да изпълните действието, щракнете върху бутона Изпълни на лентата
- Ще получите поле за съобщение
- Затворете заявката, без да я запазвате
- В навигационния екран щракнете двукратно върху таблицата Silver Line, за да я прегледате
- Затворете таблицата
Добавяне на заявка
Ако имате таблица със значителен брой записи и трябва да добавите тези записи към друга таблица, работата може да стане непосилна. Microsoft Access предоставя функция за създаване на специална заявка, която може да се използва за добавяне на много записи към таблица в една стъпка.
Заявката за добавяне ви позволява да добавяте записи към съществуваща таблица, но не създавате записите. Те трябва да бъдат извлечени от една таблица и добавени към друга таблица.
За да създадете заявка за добавяне, стартирайте заявка в изгледа за проектиране. В секцията Тип на заявката на лентата щракнете върху бутона Добавяне . Ще ви бъде представен диалогов прозорец, който очаква или да изберете таблицата, към която ще добавите записите, или да посочите името на нова таблица, която ще получи записите. Ако искате да добавите записите към съществуваща таблица, можете да я изберете от комбинираното поле.
Както можете да си представите, добавянето на запис се състои от добавяне на запис към таблица. Ако искате да направите това в SQL, просто създайте INSERT изявление.
Практическо обучение:добавяне на записи
- Базата данни на Metro System1 все още трябва да бъде отворена.
В навигационния панел щракнете двукратно върху таблицата MetroStations и превъртете напълно надолу в списъка - Забележете, че няма станции за линията Silver.
Затворете масата - На лентата щракнете върху Създаване и в секцията Заявки щракнете върху Дизайн на заявка
- В диалоговия прозорец Показване на таблица щракнете върху Сребърна линия, щракнете върху Добавяне и щракнете върху Затвори
- В секцията Тип на заявката на лентата щракнете върху бутона Добавяне
- В диалоговия прозорец Добавяне щракнете върху стрелката на комбинираното поле Име на таблицата и изберете MetroStations
- Щракнете върху OK
- В горния списък щракнете двукратно върху StationNumber, StationName, MetroLine и Location
- За да изпълните заявката, щракнете върху бутона Изпълни на лентата
- Прочетете съобщението:
- Затворете заявката, без да я запазвате
- В навигационния екран щракнете двукратно върху таблицата MetroStations и превъртете напълно надолу в списъка
- Забележете, че сега съдържа станции за линията Silver.
Затворете масата
Заявката за изтриване
Ако имате няколко записа, които трябва да бъдат премахнати от таблица, Microsoft Access предоставя различни техники за изтриване на такива записи. За да изтриете група записи с едно действие, можете да създадете специална заявка, наречена Изтриване на заявка.
Както всички други заявки за действие, заявката за изтриване ви позволява да изберете необходимите полета на таблица. Първата разлика между това и заявката за избор е, че заявката за изтриване, както всички други заявки за действие, избира или разглежда всички полета, дори тези, които не включвате в изявлението си. Другите колони са тези, които ще се използват за определяне на правилата, според които даден запис трябва да бъде изтрит.
Можете да използвате критерий или много критерии, за да зададете правилото, което да следвате, за да се отървете от (а) запис(и). Подобно на повечето други заявки за действие, действието на заявка за изтриване е необратимо.
Практическо обучение:Изтриване на записи от база данни
- Базата данни на Metro System1 все още трябва да бъде отворена.
В навигационния екран щракнете двукратно върху таблицата MetroStations, за да я отворите - Превъртете надолу и забележете, че някои станции са за линията Maroon, но знаем, че няма метро линия Maroon
- Затворете таблицата MetroStations
- На лентата щракнете върху Създаване и в секцията Заявки щракнете върху Дизайн на заявка
- В диалоговия прозорец Показване на таблици щракнете върху MetroStations, щракнете върху Добавяне и щракнете върху Close
- II в секцията Тип на заявката на лентата щракнете върху бутона Изтриване
- В горния списък щракнете двукратно върху MetroLine
- В долната страна щракнете върху полето Критерии за колоната и въведете кафяво
- За да изпълните действието, щракнете върху бутона Изпълни на лентата
- Ще получите поле за съобщение
- Прочетете го и щракнете върху Да
- В навигационния панел щракнете двукратно върху таблицата MetroStations, за да я отворите
- Превъртете надолу и забележете, че вече няма станции Maroon
- Затворете таблицата MetroStations
- Затворете таблицата
Специални операции по заявки
Обединяване на записите на много таблици
Ако имате различни таблици, можете да създадете заявка, която комбинира техните записи, така че да можете да прегледате тези записи, когато са събрани. За да ви помогне с това, SQL предоставя оператор с име UNION . Основната формула за използване е:
SELECT columns-names FROM table-name1 UNION [ALL] SELECT columns-names FROM table-name2
Това е еквивалентно на създаване на две SELECT изявления. Всеки съдържа няколко колони и таблица. И двата оператора трябва да съдържат еднакъв брой колони. Типовете данни на колоните на всяка позиция трябва да са съвместими.
Практическо обучение:Обединяване на записите на много таблици
- Отворете базата данни Ceil Inn3 от урок 40
- На лентата щракнете върху Създаване и в секцията Заявки щракнете върху Дизайн на заявка
- В диалоговия прозорец Показване на таблица щракнете двукратно върху Служители и служители
- Щракнете върху Close
- В списъците на служителите щракнете двукратно върху EmployeeNumber, FirstName и LastName
- В списъка на служителите щракнете двукратно върху ClerkCode, FirstName и LastName
- Щракнете с десния бутон върху прозореца на заявката и щракнете върху SQL изглед
- Променете SQL израза, както следва:
SELECT Employees.EmployeeNumber, Employees.FirstName, Employees.LastName FROM Employees UNION SELECT Clerks.ClerkCode, Clerks.FirstName, Clerks.LastName FROM Clerks;
- За да изпълните заявката, щракнете върху бутона Изпълни
- Затворете заявката
- Когато бъдете попитани дали искате да запазите, щракнете върху Не
Избиране в таблица
Ако имате някои записи в съществуваща таблица, можете да копирате всички или някои от тези записи, за да ги поставите в нова таблица, която създавате. За да направите това, формулата, която трябва да следвате, е:
SELECT fields INTO new-table-name FROM existing-table [WHERE condition]
За да използвате всички колони и всички записи, започнете с SELECT оператор, следван от *, следван от INTO , последвано от име на таблицата, която искате да създадете, последвано от ОТ и името на оригиналната таблица, която съдържа записите. Ето един пример:
SELECT * INTO CompanyRecipients FROM Employees;
Вместо да използвате всички колони, можете да посочите само желаното поле след SELECT ключова дума. Ето един пример:
SELECT EmployeeNumber, LastName, FirstName, EmploymentStatus INTO Salaried FROM Employees;
Вместо да използвате всички записи, можете да използвате условие, при което записите да бъдат избрани и добавени към новата таблица, която създавате. За да зададете условието, можете да създадете КЪДЕ твърдение като последно в целия израз. Ето един пример:
SELECT * INTO FullTimeEmployees FROM Employees WHERE EmploymentStatus = 'Full Time';
Премахване на всички записи от таблица
В SQL, за да премахнете всички записи от таблица, използвайте DELETE команда. Формулата, която трябва да следвате, е:
DELETE columns-names FROM table-name;
Обикновено използвате * като имена на колони . името на таблицата параметърът трябва да бъде валидно име на таблица от текущата база данни. Ето един пример:
DELETE * FROM States;
Когато изпълните, ще получите предупреждение:
Ако щракнете върху Да, всички записи от таблицата ще бъдат премахнати.
Изтриване на някои Recordx
За да изтриете един или повече записи, добавете WHERE условие за ИЗТРИВАНЕ команда. Формулата, която трябва да следвате, е:
DELETE columns-names FROM table-name WHERE condition;
КЪДЕ клауза определя условието, при което някои записи ще бъдат изтрити. Ето един пример:
DELETE * FROM [Staff Members] WHERE [Marital Status] = "Single";
Още веднъж, когато изпълните, ще получите предупреждение, което ви позволява да решите дали искате да продължите операцията.
Практическо обучение:Край на урока
- Затворете Microsoft Access