LEADERSOFT.ru Разработка на заказ программ и сайтов
ЕСЛИ БАЗА ВАМ НУЖНА В ЛИДЕРСОФТ ЗАЙДИ СПЕРВА!
Список всех статей ... Подписка на новости (рассылка через subscribe.ru)




































Выпуск 46. Техника быстрого проектирования. Часть 2

Подписка: "Access 2000 - программирование и готовые решения"
Тема:  "Техника быстрого проектирования"
Часть: 2 шаг. Разработка картотеки
Дата: 28.07.2004
Сайтhttp://www.leadersoft.ru
Подробное описание и загрузка примеров: Перейти ...
2 Шаг. Разработка картотеки

 Введение

   Теперь когда мы научились проектировать простейшие справочники, то можно перейти к изучению более сложного объекта учета данных - картотекам.
   Еще раз запомним, что унификация интерфейса позволяет не только быстрее обучить сотрудников работе с базой данных, но и приводит к меньшему количеству ошибок при вводе информации.
 Загрузка примеров
      Для того, чтобы разобраться в данной технологии необходимо загрузить из файла la_step01.zip пример: "Шаг 3 - Создание картотеки.mdb".

 Методика

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

Примерами картотек могут служить складские карточки, папки со счетами, накладными и т.п. В качестве примеров картотек из разных баз данных можно назвать: Картотека предприятий, Картотека клиентов, Картотека складских документов и т.п.

 Описание интерфейса
   Команды картотеки аналогичны справочнику. Дополнительно к кнопкам справочника добавлены новые кнопки «Поиск», «Печать», «Обновить». Кнопка «Поиск» открывает вкладку поиска. «Печать» - вызывает отчет, который установлен на вкладке «Отчетность». «Обновить» сохраняет запись в базе данных и загружает новые данные из базы.
    Внизу формы располагается калькулятор, который позволяет выполнить вычисления математических выражений и функций, встроенных в базу данных.

   При нажатии кнопки «Поиск» открывается вкладка «Список» с таблицей, где вверху вкладки расположены поля – фильтрации (выделены желтым цветом). По этим полям осуществляется поиск. Например, введя данные в поле, автоматически будет устанавливаться фильтр на таблицу. Двойное нажатие на запись в таблице, позволяет пользователю быстро перейти на редактирование картотеки.

   При нажатии кнопки «Печать» печатается отчет. Вид выбранного отчета можно посмотреть, если перейти на вкладку Отчетность. На данном снимке экрана показано, что отчет для печати выбран строкой имеющей темный вид. 
   
   На вкладке "Отчетность" Вы можете еще и видеть флажок «Оптимизация загрузки». Этот флажок позволяет быстро загружать форму при повторном вызове.
Создание картотеки
    Создадим для примера картотеку, которая будет хранить информацию по анализу себестоимости и печатать отчет по калькуляции изделия (Это одна из самых сложных задач в области программирования).
   1. Определяем ключевое слово, например, Анализ. С этим словом будут связаны таблица " АНАЛИЗ изделия" и поля idАнализ (long), Анализ (text). Эти поля используются классом картотеки для поиска нужных записей в базе данных.
   2. Создаем картотеку (можно просто скопировать форму). Открываем класс формы и добавляем в нее текст.

------- начало --------
' Открытие формы
Private Sub Form_Open(Cancel As Integer)
Set mfrm = fcClassCreateFormMain(Me.Form, "idАнализ", "Анализ", "Удалить анализ: ")

' Определяем данные для подчиненной формы
Set mfrm.subFormList = Me.formАнализList

' Определяем отчет по умолчанию
mfrm.MainReport = "rptКалькуляцияИзделий"

' Определяем фильтры для записей. Поля должны иметь название
' с префиксом Filter_ обязательно

Me.Filter_Изделие.Tag = "([Изделие] like '*[Value]*')=True"
Me.Filter_Nдок.Tag = "[Nдок]=[Value]"
Me.Filter_Дата_1.Tag = "[Дата]>=[Value]"
Me.Filter_Дата_2.Tag = "[Дата]<=[Value]"

' Восстановление свойств
mfrm.ArrayRestore = "flagOptimization"
End Sub
------- конец --------

  3. Компилируем базу данных. Если будет ошибка, то устанавливаем ссылку на библиотеку libforms.mda. Она находится в папке library и необходима для работы форм. Привязка к библиотеке ведется автоматически при открытии формы. Если это не произошло при первом открытии, сделайте это через пункт в редакторе VBA: Tools-Referenses ...
  4. Проверяем работу кнопки "Поиск" и Печать.

   P.S. Обратите внимание на фильтрацию и название полей и подчиненной формы. Для тестовых полей используется ключевое слово like '*[Value]*. После компиляции базы данных [Value] заменяется на текст из данного поля.  Таким образом, набирая в поле часть фразы, например, "ООО" Вы сможете отобрать записи, где ООО встречается везде, а не только в начале поля. 
   Экспериментируя с разными значениями фильтров полей, Вы можете добиться разных способов отбора записей.
Заключение
       Потратив 15-20 минут на изучение картотеки и ее класса, Вы сможете создавать сложный интерфейс достаточно быстро.