Информационное наполнение базы данных осуществляется с помощью формы Edit (Редактирование) (рис.8). Просмотр данных осуществляется на главной форме (рис. 9). Для извлечения информации из БД необходимо использовать форсу Запросы, показанную на рис.10.
Выход из программы осуществляется по нажатию на кнопку Выход на главной форме приложения.
Рис.8. Форма для редактирования
Рис.9. Главная форма для просмотра
Рис.10. Форма с запросами
Вся работа с БД построена на использовании диалоговых окон, в которых используются стандартные элементы диалога ОС WINDOWS. Использование этих диалоговых окон является интуитивно понятным и не вызывает затруднений.
· выдать список, отсортированный:
· В алфавитном порядке по наименованию,
Текст запроса:
select * from pressa!view order by view.name,view.vid
Рис.11. Результат сортировки по наименованию
· выдать список, отсортированный:
· По тиражу,
Текст запроса:
select * from pressa!view order by view.tirag
Рис.12. Результат сортировки по тиражу
Текст запроса:
select * from pressa!view order by view.price
Рис.13. Результат сортировки по стоимости
· Найти самое дорогое издание, самое дешевое, среднюю стоимость для каждого вида прессы и в целом;
Рис.14 Форма запроса(слева) и результат(справа)
Текст запроса самое дешевое издание:
SELECT products.name, MIN(products.price);
FROM pressa!products;
WHERE products.price = (SELECT MIN(products.price) from products);
Текст запроса самое дорогое издание:
SELECT products.name, MAX(products.price);
FROM pressa!products;
WHERE products.price = (SELECT MAX(products.price) from products);
Текст запроса найти среднюю стоимость:
if thisform.check1.value = 1
SELECT AVG(Products.price);
FROM pressa!products
endif
if thisform.check1.value = 0
SELECT AVG(View_a.price), View_a.vid;
FROM pressa!view View_a;
WHERE View_a.vid = thisform.Combo1.Value
endif
· Найти прессу с ценой свыше 5 рублей (и любая другая сумма, предусмотреть ввод цены с клавиатуры) для каждого вида издания и в целом;
Рис.15 Форма запроса(слева) и результат(справа)
Текст запроса:
if thisform.check1.value = 1
if thisform.check2.value = 1
SELECT View_a.price, View_a.name, View_a.vid;
FROM pressa!view View_a;
WHERE View_a.price > VAL(thisform.Text1.value)
endif
if thisform.check2.value = 0
SELECT View_a.price, View_a.name, View_a.vid;
FROM pressa!view View_a;
WHERE View_a.price > 5
endif
endif
if thisform.check1.value = 0
if thisform.check2.value = 1
SELECT View_a.price, View_a.name, View_a.vid;
FROM pressa!view View_a;
WHERE View_a.price > VAL(thisform.Text1.value) AND View_a.vid = thisform.Combo1.Value
endif
if thisform.check2.value = 0
SELECT View_a.price, View_a.name, View_a.vid;
FROM pressa!view View_a;
WHERE View_a.price > 5 AND View_a.vid = thisform.Combo1.Value
endif
endif
· Найти все издания, чей тираж попадает в заданные пределы;
Рис.16 Форма запроса(слева) и результат(справа)
Текст запроса:
SELECT View_a.name, View_a.vid, View_a.tirag;
FROM pressa!view View_a;
WHERE View_a.tirag > VAL(thisform.Text1.value) AND View_a.tirag < VAL(thisform.Text2.value)
· Для заданного издательства (выбор) найти все виды газетной продукции;
Рис.17 Форма запроса(слева) и результат(справа)
Текст запроса:
SELECT View_a.vid, View_a.name;
FROM pressa!view View_a;
WHERE View_a.izdat = thisform.Combo1.value
· Найти все издания, чья стоимость находится в заданных пределах (ввод интервала), для заданного издательства;
Рис.18 Форма запроса(слева) и результат(справа)
Текст запроса:
SELECT View_a.name, View_a.izdat, View_a.price;
FROM pressa!view View_a;
WHERE View_a.price > VAL(thisform.Text1.value) AND View_a.price < VAL(thisform.Text2.value);
AND View_a.izdat = thisform.Combo1.Value
· Найти долю дешевой прессы (меньше заданного, ввод ограничения) от общего числа изданий;
Рис.19 Форма запроса и результат
Текст запроса:
Текст запроса
SELECT SUM(View_a.price)AS txt;
FROM pressa!view View_a;
WHERE View_a.price <= VAL(thisform.Text2.Value);
INTO CURSOR x
thisform.Text1.Value = txt
A = thisform.Text1.Value
SELECT SUM(View_a.price)AS txt2;
FROM pressa!view View_a;
INTO CURSOR xx
thisform.Text1.Value = txt2
B = thisform.Text1.Value
C = 100 * A
A = C / B
thisform.Text1.Value = A
· Найти долю прессы проданной за определенный период (ввод);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.