Иллюстрированный самоучитель по Visual FoxPro 7

Создание объекта Grid с помощью конструктора форм

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

  1. В окне Data Environment (Среда окружения) разместите таблицы, используемые в форме.
  2. Установите связи между таблицами.
  3. Разместите в форме поля главной таблицы.
  4. Создайте в форме объект Grid (Таблица) для отображения данных подчиненной таблицы.

Создание формы, содержащей объект Grid

Рассмотрим создание формы, с помощью которой можно просмотреть информацию о клиентах, их телефонах и сделанных ими покупках. В отчете будем использовать следующие таблицы: Customer, Phoncust, Ordsalem, ordsaled и Goods. В таблицах содержится следующая информация:

  • Сustomer – список клиентов;
  • Phoncust – средства связи, по которым можно связаться с клиентом;
  • Ordsalem – информация о продажах: номер заказа, дата заказа, код клиента, итоговая сумма заказа;
  • Ordsaled – код, количество и стоимость проданного товара по данному заказу;
  • Goods – информация о товарах.

Отношение между таблицами customer и Phoncust определяется как "один-ко-многим", т. к. клиент может иметь несколько номеров телефона или факс для связи.

Отношение между таблицами Customer и Ordsalem также "один-ко-многим", поскольку каждый клиент может сделать несколько покупок.

Приступим к созданию формы.

  1. Откройте проект Sales.
  2. Откройте окно конструктора форм для создания новой формы.
  3. Откройте окно Data Environment (Среда окружения), выполнив команду Environment (Окружение) из меню View (Вид).
  4. Используя команду Add (Добавить) из меню Data Environment (Среда окружения), добавьте В форму таблицы Customer, Phoncust, Ordsalem, Ordsaied и Goods. Между ними существуют следующие отношения:
    • customer – родительская по отношению к таблицам Phoncust и Ordsalem;
    • Ordsalem – родительская по отношению к таблице ordsaied;
    • ordsaied – родительская по отношению к таблице Goods.

    Связь между таблицами осуществляется:

    • customer и Phoncust – по коду клиента;
    • Customer и Ordsalem – по коду клиента;
    • Ordsalem и Ordsaied – по коду заказа;
    • Ordsaied и Goods – по коду товара.

    Данные в таблицах customer, Ordsalem и Phoncust должны быть упорядочены по коду клиента, в ordsaied – по коду заказа, а в Goods – по коду товара.

  1. Установив все необходимые связи между таблицами и указав упорядочение данных (рис. 15.14), закройте окно Data Environment (Среда окружения).

Иллюстрированный самоучитель по Visual FoxPro 7 › Расширенные средства ввода данных › Создание объекта Grid с помощью конструктора форм
Рис. 15.14. Окно Data Environment создаваемой формы

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.