Книга: VBA для чайников
Выбор полей
Выбор полей
Для указания набора полей укажите их имена явным образом, как показано ниже:
SELECT Toy, InStock, OnOrder FROM ToyInventory
Если имя поля содержит пробелы или знаки пунктуации, заключите его в квадратные скобки, как показано ниже:
SELECT Toy, [ List Price ], [Sale Price] FROM ToyInventory
По умолчанию значение свойства Name каждого объекта Field в наборе записей, полученном с помощью инструкции SELECT, равно имени соответствующего поля в исходной таблице. Вы можете назначить другие имена полей (псевдонимы) в наборе записей, используя ключевое слово AS для каждого поля, которое вы решили переименовать:
SELECT Toy AS ToyName, InStock AS OnHand, OnOrder FROM ToyInventory
Если вы извлекаете записи из нескольких таблиц и хотите выбрать поля с одинаковыми именами, укажите перед именем поля имя соответствующей таблицы. Вот соответствующий пример:
SELECT ToyInventory.Name, Clerks.Name FROM ToyInventory, Clerks
Вы можете построить набор записей, который будет содержать новые поля, а их значения вычисляются на базе значений, содержащихся в базе данных. В инструкции SELECT подобные поля определяются с помощью выражений, базирующихся на операторах и функциях
VBA. Например, предположим, что вам необходимо перечислить цены на товары, которые получатся после снижения на 10%:
SELECT Toy, ( Price * .9) AS SalePrice FROM ToyInventory
Обратите внимание на то, что при определении вычисляемого поля вы должны включить ключевое слово для создания псевдонима (имени) поля в наборе записей. Скобки необязательны, однако они помогают подчеркнуть выражение, которое необходимо вычислять.
В выражении, позволяющем получить значение нового поля, допускается использование нескольких полей, например, так: ( Price * InStock) AS InventoryValue.
В качестве еще одного примера предположим, что по какой-то причине вам необходимо получить набор записей, в котором будут перечислены имена всех клерков прописными буквами, но при этом способ представления имен в самой базе данных не должен изменяться.
Это позволяет сделать приведенная ниже инструкция:
SELECT UCase(Name) AS [ Clerk's name] FROM Clerks
При использовании обобщенных функций SQL инструкция SELECT позволяет получить набор записей, который будет содержать только одно результирующее значение, например, количество записей, содержащих заданное значение в определенном поле:
SELECT Count (Recyclable) AS [Can Recycle] From Toys или среднее значение всех полей:
SELECT Avg(Price) AS [Average Price] FROM Toys
После этого вы можете передать значение поля этой записи переменной в вашем коде VBA для использования в вычислениях или отображения в форме: intRecyclabl eCount = rstRecyclabl eToys![ Canrecycle]
К обобщенным функциям относятся следующие: Count, Avg, Sum, Min, Max, а также несколько статистических функций.
Используйте предикаты DISTINCT, DISTINCTROW и ТОР в инструкции SELECT в качестве простых инструментов получения определенных наборов записей из баз данных. Эти специальные слова необходимо указывать сразу после инструкции SELECT, как показано в табл. 17.3.
Таблица 17.3. Предикаты SQL для выбора записей
Предикат |
Использование |
Пример |
DISTINCT |
Выбирает только одну запись, если база данных содержит несколько записей с идентичными данными в указанных полях |
SELECT DISTINCT Address FROM Members Возвращает набор записей, содержащий только одну запись для каждого адреса, даже если в таблице Member s содержится по несколько записей для каждого адреса |
DISTINCT ROW |
Выбирает все уникальные записи, базируясь на значениях всех полей. Если две записи отличаются всего одним символом, они все равно будут включены в набор; если они полностью идентичны, в набор будет включена только одна из них |
SELECT DISTINCTROW Name, Address FROM Members Возвращает набор записей, содержащий записи с полями Name и Address, Набор может содержать дублирующиеся записи, но только в том случае, если отличаются значения других полей |
ТОР л |
Выбирает указанное число записей в верхней или нижней части определяемого ключевым словом ORDER BY |
SELECT TOP 10 ToyName FROM Toys ORDER BY Units Sold Возвращает набор записей, содержащий сведения о 10 диапазона, лучше всего продаваемых игрушках. Для определений 10 хуже всего продаваемых игрушек вам следует добавить ключевое слово ASC (ascending - no убыванию) после слова Units Sold |
- 10.8.4 Выбор начального порядкового номера
- Сбор информации с помощью текстовых полей
- Выбор элемента
- Выбор параметров из списка и комбинированных окон
- Инструменты выбора цвета
- Выбор стратегии ценообразования
- Выбор аппаратного обеспечения для InterBase
- Рекомендации по выбору архитектуры: Classic или SuperServer?
- Ограничение результатов выборки FIRST
- Выбор спутника жизни
- 1. Унарная операция выборки
- 1. Операция выборки.