Создание базы данных «Пресса», страница 4


Form_06.scx

Найти все издания, чья стоимость находится в заданных пределах (ввод интервала) для заданного издательства

Рис.20. Форма “form_06.scx”

Обработка кнопки «Найти»:

select press.name_press, press.price, publisher.publisher_ as publisher;

from pressa!press inner join pressa!typ;

on  press.id_type==typ.id_type;

where press.price between ThisForm.Text1.Value and ThisForm.Text2.Value AND;

press.id_publisher=(select publisher.id_publisher FROM pressa!publisher WHERE publisher.publisher_=thisform.combo1.value);

ORDER BY press.price

Результаты работы запроса:

Рис.21.Результаты работы  формы “form_06.scx”


Form_07.scx

Найти долю дешевой прессы (меньше заданного, ввод ограничения) от общего числа изданий

Рис.22. Форма “form_07.scx”

Обработка кнопки «Найти»:

LOCAL tmp1(1)

LOCAL tmp(1)

SELECT count(press.name_press);

FROM pressa!press;

INTO ARRAY tmp;

SELECT count(press.name_press);

FROM pressa!press;

WHERE press.price <= thisform.text1.value;

INTO ARRAY tmp1;

result=tmp1/tmp*100

MessageBox("Доля дешевой прессы: " + alltrim(str(result))+" %")

Результат работы запроса:

Рис.23.Результаты работы  формы “form_07.scx”


Form_08.scx

Найти долю прессы, проданной за определенный период (ввод)

Рис.24. Форма “form_08.scx”

Обработка кнопки «Найти»:

LOCAL tmp(1)

LOCAL tmp1(1)

date_1=thisform.text1.value

date_2=thisform.text2.value

SELECT count(press.name_press);

FROM pressa!press;

INTO ARRAY tmp;

SELECT count(press.name_press);

FROM pressa!press;

WHERE press.date_of_sale between date_1 AND date_2;

INTO ARRAY tmp1

result=tmp1/tmp*100

MessageBox("Доля прессы, проданной за данный период: " + alltrim(str(result))+"%")

Результаты работы запроса:

Рис.25.Результаты работы  формы “form_08.scx”


Form_09.scx

Найти все виды прессы, поступившие от заданного издательства (ввод издательства), чья стоимость больше заданной (ввод стоимости)

Рис.26. Форма “form_09.scx”

Обработка кнопки «Найти»:

select press.name_press, press.price;

from pressa!press inner join pressa!typ;

on  press.id_type==typ.id_type;

where press.price > ThisForm.Text1.Value AND;

press.id_publisher=(select publisher.id_publisher FROM pressa!publisher WHERE publisher.publisher_=thisform.combo1.value);

ORDER BY press.price

Результаты работы запроса:

Рис.27.Результаты работы  формы “form_09.scx”


Form_10.scx

Найти всю прессу, поступившую от заданного издательства, чья стоимость больше, чем средняя стоимость заданной прессы (ввод наименования), поступившей из заданного города (ввод наименования города)

Рис.28. Форма “form_10.scx”

Обработка кнопки «Найти»:

LOCAL tmp1(2)

select press.price FROM pressa!press;

WHERE press.city==thisform.combo3.value AND press.name_press = thisform.combo2.value;

INTO ARRAY tmp1

numer = alen(tmp1)

if numer==2 

numer=0

else

numer=tmp1

endif

MessageBox("Цена выбранной продукции: " + alltrim(str(numer)))

select press.name_press, press.price, publisher.publisher_ as publisher;

from pressa!press inner join pressa!publisher on  press.id_publisher==publisher.id_publisher;

where press.id_publisher == (select publisher.id_publisher FROM pressa!publisher WHERE publisher.publisher_=thisform.combo1.value) AND press.price > numer;

ORDER BY press.price

Результат работы запроса:

    

Рис.29.Результаты работы  формы “form_10.scx”

Form_11.scx

Найти долю дешевой прессы (чья стоимость меньше заданной, ввод стоимости), поступившей от заданного издательства и в целом

Рис.30. Форма “form_11.scx”