Создание базы данных «Фотоаппараты», страница 6

      and tb_distrib.name_co = thisform.list2.value ;

      and tb_country.name_country = Thisform.list3.value ;

      and tb_foto.break = .T.;

      into cursor temp

      select count(temp.break) ;

      from temp ;

      into array arr

      thisform.label1.caption = "количество: " + str(arr(1))

Рис. 7.12. Форма запроса «количество бракованных»

13.  «средняя стоимость за период»

      select tb_foto.cost as cost;

      from db!tb_foto;

      where tb_foto.date_sell >= Thisform.text1.value ;

      and tb_foto.date_sell <= Thisform.text2.value ;

      into cursor temp

      dimension arr(1)

      arr(1)=0;

      select avg(temp.cost) ;

      from temp ;

      into array arr

      thisform.label1.caption = "средняя стоимость: " + str(arr(1))

Рис. 7.13. Форма запроса «средняя стоимость за период»

14.  «всё, что дороже средней стоимости»

      select ;

            tb_prod.name_prod as производитель, ;

            tb_model.model as модель, ;

            tb_foto.cost as цена, ;

            tb_foto.date_prod as дата_изготовления, ;

            tb_foto.date_sell as дата_продажи, ;

            tb_foto.break as брак ;

      from db!tb_foto, db!tb_model, db!tb_prod;

      where  ;

            tb_foto.model_id = tb_model.dnm_id ;

            and tb_model.producer_id = tb_prod.dnm_id ;

            and tb_prod.name_prod = Thisform.list1.value ;

      into cursor temp

      select avg(temp.цена) as v;

      from temp ;

      into cursor aver

      messagebox(str(aver.v),"средняя стоимость от производителя")

      select ;

            tb_prod.name_prod as производитель,;

            tb_model.model as модель,;

            tb_foto.cost as цена,;

            tb_distrib.name_co as дистрибьютор,;

            tb_country.name_country as страна,;

            tb_foto.break as брак;

       from tb_foto, tb_distrib, tb_model, tb_prod, tb_country;

       where tb_foto.distrib_id = tb_distrib.dnm_id ;

            and tb_foto.model_id = tb_model.dnm_id ;

            and tb_model.producer_id = tb_prod.dnm_id ;

            and tb_prod.country_id = tb_country.dnm_id ;

            and tb_foto.cost > aver.v

Рис. 7.14. Форма запроса «всё, что дороже средней стоимости»

Рис. 7.14.1. Средняя стоимость фотоаппаратов выбранного производителя

Рис. 7.14.2. Результат запроса «всё, что дороже средней стоимости»

15.  «все виды запчастей»

select ;

      tb_stuff_class.name_class as вид,;

      tb_stuff.name_stuff as наименование,;

      tb_foto_stuff.cost as цена,;

      tb_distrib.name_co as поставщик;

 from tb_stuff_class, tb_stuff, tb_foto_stuff, tb_distrib, tb_model;

 where tb_foto_stuff.distr_id = tb_distrib.dnm_id ;

      and tb_foto_stuff.model_id = tb_model.dnm_id ;

      and tb_foto_stuff.stuff_id = tb_stuff.dnm_id ;

      and tb_stuff.class_id = tb_stuff_class.dnm_id ;

 order by tb_stuff.name_stuff asc

Рис. 7.15. Результат запроса «все виды запчастей»

16.  «поставщики запчастей»

select ;

      tb_distrib.name_co as поставщик;

 from tb_stuff_class, tb_stuff, tb_foto_stuff, tb_distrib, tb_model;

 where tb_foto_stuff.distr_id = tb_distrib.dnm_id ;

      and tb_foto_stuff.model_id = tb_model.dnm_id ;

      and tb_foto_stuff.stuff_id = tb_stuff.dnm_id ;

      and tb_stuff.class_id = tb_stuff_class.dnm_id ;

      and tb_stuff_class.name_class = Thisform.list2.value ;

      and tb_model.model = Thisform.list1.value

Рис. 7.16. Форма запроса «поставщики запчастей»

Рис. 7.16.1. Результат запроса «поставщики запчастей»

Пример работы программы

Рис. 8.1. Главная форма

Рис. 8.2. Форма «О программе…»


Выводы

В ходе выполнения расчетно-графической работы были закреплены (и  приобретены  новые) навыки работы в среде Microsoft Visual FoxPro 6. Получен опыт в проектировании баз данных, работы с ними посредством запросов на языке SQL, а также опыт в разработке средств управления базами данных.


Литература

1.  Электронный учебник "Программирование в среде Visual FoxPro™". С.Федоров, НГТУ, АВТФ, 2003г.

2.  Справка Microsoft Visual FoxPro6.