LEADERSOFT.ru Разработка на заказ программ и сайтов
Интернет магазин программного обеспечения

500 руб.

ДОРАБОТКА ПРОГРАММ

Если Вам необходимо изменить любую программу, например, добавить или изменить отчет или форму, то это можно сделать по отдельному соглашению.

Перейти к оформлению заказа ...
Элемент TreeView очень часто используется при разработке интерфейса баз данных. Он представляет собой дерево, состоящее из узлов. Нажимая конкретный узел, мы фильтруем записи в некоторой таблице. Сложным является программирование этого объекта. Наш способ фильтрации не требует знания специальных навыков VBA. Для этого достаточно уметь составлять простые запросы SQL

Введение
Класс и его функции предназначены для работы под управлением операционной системы Microsoft Windows с установленным программным комплексом Microsoft Office 2000 или выше, обязательно включающим компонент Microsoft Access

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

В архиве Вы найдете файлы Microsoft Access, причем для разных версий базы смотрите папки Версия 2003 и Версия 2010.
Leadersoft_ru_TreeView.mdb – класс для работы с TreeView. В демоверсии он скомпилирован в код (mde), поэтому импортировать этот код в ваш проект нельзя.

Главная форма.mdb. Этот файл содержит ваш интерфейс, т.е. таблицу для фильтрации и различные вспомогательные объекты. Состав файла

  • Справочник – таблица, в которой надо найти данные
  • Фильтры – Таблица с фильтрами для Справочника
     
  • formMain – это ваша главная форма для поиска
  • formMainTable – таблица в которой ведется поиск. Применяется в главной форме.
  • formMainTreeView – это дерево для фильтрации записей в таблице. Применяется в главной форме.
  •  funFormat – функция для форматирования узлов
  Инструкция

Откройте файл Главная форма мышкой (для редактирования держите нажатым)

1. Просмотрите запросы с префикcом qryФильтр. Главное обратите внимание на поле TextNode (Текст узла). Это поле содержит названия узлов. Они разграничиваются знаком \. Пример. Узел1\Узел2\Узел3. Для этого можно использовать поля таблицы или их объединение и модификацию через функции VBA (в примере используется функция CreateNode). Создайте аналогичный запрос, например, qryФильтрПоНовому. Проверьте его. Ниже показан запрос qryФильтрПоКатегории.

На картинке используется поле Категория из Справочника. Оно уже отформатировано как надо. Т.е. имеет текст с разделителями узлов. Остальные поля оставьте такими же, как в примерах. Если нужно отформатировать узел не так, то используется функция VBA. Вот примеры.

TextNode: CreateNode([ДатаУчета];"d") . Узел отображается так 2011 год\Январь\23
TextNode: CreateNode([ДатаУчета];"n") . Узел отображается так Посмотрите другие примеры на эту тему.

2. Откройте запрос таблицы формы qryГлавныйЗапрос и добавьте поле TextNode из запроса qryФильтрПоНовому. Назовите поле, например,  Key10..

Проверьте отображение запроса с набором ключей для фильтрации (Key1, Key2 …). Во всех ключах используется разделитель “\”.

3. Откройте таблицу Фильтры. В нее запишите данные фильтра. Например, Key10, qryФильтрПоНовому, по Новому

4. Вот и все. Откройте главную форму formMain и в списке выберите фильтр "по Новому". Таблица будет фильтроваться. Пример фильтрации недвижимости «по Типу и Метро».