Когда вы обращаетесь к локальным или удаленным источникам данных, вы можете извлекать потенциально большие объемы данных. Однако, вы можете сузить область записей до именно тех, которые вам реально нужны с помощью фильтра. Фильтрование записей, кроме того, снижает сетевую нагрузку при работе с удаленными данными и увеличивает производительность вашего представления.

Вы можете фильтровать записи в представлении указанием выражения фильтра. При генерации представления, Visual FoxPro оценивает выражение фильтра и сравнивает результаты со значениями в полях представления. Если значения отвечают условиям выражения, Visual FoxPro включает эти записи в выходной, результирующий набор. Добавление выражения фильтра приводит к появлению опции WHERE в предложении SQL представления.

Например, предположим, что вы создаете фильтр, который включает записи только тех потребителей, которые находятся в определенной стране. В приведенных ниже строках кода опция WHERE содержит выражение фильтра, который отбирает записи с информацией о потребителях, поле страны в таблице содержит значение "Sweden":

 CopyCode imageСкопировать код
SELECT * FROM Customer ;
   WHERE Customer.Country = 'Sweden'

Такой код увеличивает производительность, так как извлекает только те записи, которые отвечают условию, то есть выбирает только тех потребителей, которые находятся в Швеции. Однако, такой код требует, кроме того, чтобы вы создали отдельное представление для каждой страны, так как реальное значение жестко прописано в предложении SQL SELECT представления. Вместо этого, вы можете создать параметризованное представление, которое использует в выражении фильтра параметр, для приема значения для опции WHERE. Для получения более подробной информации смотрите описание задачи Как: создавать параметризованные представления.

Для фильтрации записей в представлении

  1. Откройте представление во View Designer (Конструкторе представления) и щелкните по закладке Filter (Фильтр).

  2. В списке Field Name (Имя поля) выберите одно из приведенного ниже:

    • Поле таблицы, которое вы желаете включить в выражение фильтра.

    - или -

    • <Expression> (Выражение) для того, чтобы открыть Expression Builder (Компоновщик выражения) с тем, чтобы вы смогли выстроить выражение фильтра.

      NoteЗамечание

      Если вы создете представление из удаленного источника данных, функции, доступные в Expression Builder (Компоновщик выражения) отражают функции, поддерживаемые удаленным сервером. Для изучения списка функций, которые поддерживает ваш удаленный сервер, посмотрите документацию сервера. Visual FoxPro не будет пытаться разобрать указанное вами выражение; вместо этого, он просто пошлет его удаленному серверу.

  3. В списке Criteria (Критерий) выберите оператор сравнения, который вы желаете использовать.

    NoteСовет

    Для отрицания условия, щелкните в колонке NOT выражения.

  4. В боксе Example (Пример) впечатайте значение или выражение, которое вы желаете использовать для сравнения значений поля.

Для получения более подробной информации смотрите описания Закладка Filter (Фильтр) Query and View Designers (Конструкторов запроса и представления) и Диалоговое окно Expression Builder (Компоновщик выражения).

Смотрите также