Вы можете отфильтровать записи в представлении без создания отдельных представлений для каждого фильтра, создав параметрическое представление. Параметрическое представление использует SQL SELECT выражение, содержащее оператор WHERE, который определяет условие фильтра с использованием параметра. Параметр принимает значения, которые могут быть переданы через окно диалога с пользователем или программно. Имена параметров могут содержать любую комбинацию символов, чисел и одиночных кавычек
Определение параметра для фильтра
-
Откройте представление в Конструкторе Представлений (View Designer) и щелкните на закладке Filter.
-
На закладке Filter создайте фильтр или выберите существующий.
-
В поле Example введите имя параметра.
Совет
Для запроса значения пераметра, когда открывается представление, поставьте перед именем параметра вопросительный знак (?). Когда вы открываете представление, появляется диалоговое окно и запрашивает у вас значение параметра.
Примечание
Имя параметра вычисляется как выражение Visual FoxPro. Если вычисление неудачно, Visual FoxPro запрашивает значение параметра. Значение параметра передается источнику данных как часть SQL SELECT выражения.
Для более подробной информации см. Как редактировать представления и закладка Filter в Конструкторах Запросов и Представлений
Создание параметрического представления программно
-
Используйте команду CREATE SQL VIEW с оператором AS при составлении SQL SELECT выражения.
-
В оператор WHERE SQL SELECT выражения включите условие фильтрации, содержащее имя параметра в соответсвующем месте.
Для более подробной информации см. команда CREATE SQL VIEW и команда SELECT - SQL
Например, следующий код открывает базу данных Northwind (из примеров) и создает параметрическое представление, содержащее все записи из таблицы Customers, у которых поле Country равно значению параметра cCountry:
![]() | |
---|---|
OPEN DATABASE HOME(2) + "Northwind\Northwind" |
Когда нижеприведенный код окрывает представление, появляется диалоговое окно для запроса значения параметра. После того, как вы введете значение параметра, команда BROWSE откроет окно с результатами:
![]() | |
---|---|
USE Customer_Remote_View |
Следующий код удаляет представление из базы данных Northwind, когда вы завершите:
![]() | |
---|---|
DELETE VIEW Customer_Remote_View |
Вы можете передать значение параметра программно вместо запроса его значения. Нижеприведенный код создает то же самое параметрическое представление, но не содержит вопросительного знака. Затем код программно присваивает значение "Sweden" параметру cCountry
. Когда вы открываете представление, значение параметра передаётся в представление, и команда BROWSE откроет окно с результатами:
![]() | |
---|---|
OPEN DATABASE HOME(2) + "Northwind\Northwind" |
Следующий код удаляет представление из базы данных Northwind, когда вы завершите:
![]() | |
---|---|
DELETE VIEW Customer_Remote_View |