Использование

Пример

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

Настройка набора записей: задаем критерии

Для ограничения набора записей только теми записями, которые удовлетворяют определенным критериям, добавьте к инструкции SELECT ключевое слово WHERE, как показано в приведенных ниже примерах:

SELECT * FROM Toys WHERE Price <= 20

SELECT Customer, Date FROM Sales WHERE Date = #10/24/2000#

SELECT Name, Rank, CerealNumber FROM Kids WHERE Rank = 'Queen'

SELECT Name, Age, [Shoe Size] FROM Kids WHERE Age Between 3 And 6

Как легко видеть, ключевое слово WHERE указывается после ключевого слова FROM и содержит выражение, определяющее критерий, которому должны соответствовать записи, чтобы попасть в набор. Кроме того, эти выражения не похожи на обычные выражения VBA. Во-первых, строковые значения заключаются в одинарные, а не двойные кавычки. Во-вторых, вы можете определять диапазоны с помощью конструкции Between ... And, которая в VBA отсутствует. И в SQL оператор Like функционирует совсем не так, как в VBA.

Вы можете объединить несколько выражений, используя логические операторы (And, Or и т.д.), как показано ниже;

SELECT * FROM Toys WHERE Price > 20 And Category = 'Action Figures'

В коде VBA принято использовать одинарные кавычки для определения строки в инструкции SQL, которая целиком является строкой с точки зрения VBA, a значит, заключается в двойные кавычки. Например, вы можете настроить объект Command следующим образом:

strSQL = "SELECT Name FROM Kids WHERE Hates =

'Brocolli'" cmdEr.CommandText = strSQL

Очень часто, особенно при использовании ключевого слова WHERE, вам необходимо, чтобы часть инструкции SQL основывалась на переменной; например, если вы выполняете запрос, базирующийся на данных, введенных пользователем в текстовом поле формы. Добавьте значение переменной к остальной части строки. Если переменная представляет строковое значение, не забудьте заключить ее в одинарные кавычки, как показано в следующем примере:

strSQL = "SELECT Name FROM Kids WHERE Hates = ' " _

& frmInputForm.Text Box l & "'"

Если переменная представляет данные, а не строку, заключите ее между символами #, а не в одинарные кавычки. Переменные, представляющие числовые значения, не требуют использования каких- либо открывающих и закрывающих символов.

Ключевое слов GROUP BY позволяет вам объединять записи, содержащие одинаковые значения в указанных полях, преобразуя их в одну запись в полученном наборе записей. Обычно это ключевое слово используется в том случае, если вам необходим набор записей, содержащий общие сведения о данных. Например, вам понадобилось узнать, сколько записей содержится в базе данных для каждого значения указанного поля. Соответствующий пример приведен ниже:

SELECT Category, Countf[Category]) AS [Number of Items] FROM Toys

GROUP BY Category;

В результате выполнения этой инструкции можно получить набор записей примерно такого вида.

Вы читаете VBA для чайников
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату