Основы работы с базами данных

       

Модификация экранной формы в Конструкторе


При работе с базами данных всегда используются таблицы-справочники. На экранных формах для выбора данных из справочников можно использовать раскрывающиеся списки (в VFP - объект Combo Box) или выполнять выбор из другой раскрывающейся формы после нажатия на командную кнопку. Второй способ позволяет просматривать сложную информацию справочников и одновременно дополнять и редактировать справочник.

Для использования информации из справочных таблиц необходимо добавить их в Data Environment - окно, связанное с экранной формой и описывающее, какие таблицы связаны с формой, как они открываются и закрываются при запуске формы в работу (см. свойства в окне Properties). Другой вариант - в событии Load экранной формы самому написать команды открытия таблиц, задания порядка по индексам и установления связей.

Для начинающих программистов проще воспользоваться первым, визуальным способом. Окно Data Environment можно открыть, щелкнув на соответствующем названии в пункте главного меню View или выбрав команду Data Environment в контекстном меню экранной формы. Вид этого окна показан на рис. 5.13. Щелкнув правой кнопкой мыши на пустом месте окна Data Environment, выберем команду Add в контекстном меню, добавим таблицы Fclt, Spect, Predmеts и зададим правильно связи между ними перетаскиванием мышкой названия поля к названию индекса, как показано на рисунке.


Рис. 5.13.  Окно данных экранной формы Data Environment

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

Найдем на панели Form Controls объект Combo Box, щелкнем на нем мышкой и покажем область размещения и размер этого объекта на экранной форме Spisok. Затем щелкаем правой кнопкой мыши на нем и в контекстном меню выбираем пункт Builder. В результате в VFP открывается окно Combo Box Builder (рис. 5.14.). Это окно состоит из четырех страниц для выбора исходных данных, стиля и внешнего вида списка и задания, какую колонку и где сохранять при выборе пункта списка.
Затем надо описать свойства вставленного в колонку 3 объекта с именем Combo1:

  • ControlSourse - если для колонки было задано ocenki.n_predm и BoundTo = .T., это свойство автоматически становится таким же, как свойство колонки, т.е. ocenki.n_predm;
  • RowSourseType 6 - Fields;
  • RowSourse predmets.n_predm, name_p;
  • ColumnCount 2;
  • ColumnWidths 20, 180;
  • BorderStyle 0 - None;
  • SpecialEffect 1 - Plain.


Для показа названия предмета в таблице добавим количество колонок (для объекта Grid свойство ColumnCount изменим на 7), переместим колонку перетаскиванием мышкой за заголовок на четвертое место в таблице после колонки N_predm и опишем свойства колонки 7: ControlSourse - Predmets.name_p (выбором из списка доступных полей); ReadOnly - .T. (делаем эту колонку нередактируемой).

Далее отредактируем заголовки (Header) у всех колонок объекте Grid, цвет фона экранной формы и объекта Grid (BackColor) и цвета объектов Combo box - DisabledBackColor и DisabledForeColor.

В результате экранная форма (после запуска ее в работу) будет иметь вид, показанный на рис. 5.16.


Рис. 5.16.  Экранная форма после модификации в Конструкторе


Содержание раздела