Министерство Общего и Профессионального Образования РФ
Новосибирский Государственный Технический
Университет
Расчётно–графическая работа по СУБД
«Программирование в среде FoxPro»
Факультет: АВТ
Группа: АМ-811
Студент:
Преподаватель:
Вариант: 14
Новосибирск
-2001-
1.Содержание:
1.Содержание: 2
2.Задание. 3
3.Описание программы в целом.. 3
4.Графическое представление работы меню.. 3
5.Описание работы меню.. 4
6.Руководство пользователя. 7
7.Программные файлы.. 7
8.Тексты программ.. 8
9.Программная оболочка. 13
10.Аппаратная поддержка. 13
11.Примеры работы программы.. 13
12.Список использованной литературы.. 15
2.Задание
Основная база данных “Электроприборы”. Предусмотреть: меню, печать на экран, ввод данных, редактирование, просмотр данных. Реализовать следующие типы запросов:
n Для каждого вида электроприборов (холодильник, пылесос, стиральная машина, кофеварка, утюг и т. д.) указать сведения о нем (наименование, дату выпуска, поставщик, цена, вес и т. п.).
n Для каждого вида электроприборов выдать список, отсортированный:
n по дате выпуска,
n в алфавитном порядке по поставщику,
n по весу,
n по стоимости,
n по дате продажи.
n Найти самый дорогой вид электроприборов, самый дешевый, среднюю стоимость по каждому виду и в целом.
n Найти электроприборы с ценой в заданных пределах (предусмотреть ввод цены с клавиатуры).
n Найти все электроприборы заданного производителя (выбор).
n Найти все электроприборы с заданной датой выпуска (ввод даты).
n Найти все электроприборы, чей вес находится в заданных пределах (ввод интервала) для заданного производителя (выбор) и в целом.
n Найти долю электроприборов, проданных за определенный период (ввод периода) от общего времени продажи.
Найти самый популярный вид электроприбора (продано наибольшее количество).
3.Описание программы в целом
В соответствии с заданием, программа построена на основе меню. Это облегчает работу с базой данных, так как все основные команды просмотра, редактирования базы данных, добавления новых элементов, а также реализация запросов выполняются прямо из команд меню. Кроме того, не нужно заботиться об интерфейсе пользователя, - мастер построения меню берёт всё сам на себя.
Основой программы является база данных «Электроприборы». Она содержит необходимые данные об основных характеристиках различных бытовых приборов, а именно: вид прибора, его наименование, сведения о поставщике и производителе, дата выпуска, дата продажи, цена, вес и количество проданных штук. В качестве вида могут выступать различные электроприборы, например, изначально база данных содержит следующие виды: холодильник, миксер, пылесос, телевизор, фен, компьютер, музыкальный центр, лампочка и другие. Поле «наименование» содержит маркировку текущего вида электроприбора. Суть остальных полей понятна из их названия и здравого смысла.
4.Графическое представление работы меню
Построение меню, назначение обработчиков для каждого пункта и его генерация производились с помощью мастера построения меню.

Рис. 1
На Рис.1 приведено меню, которое появляется сразу после запуска программы. Оно содержит несколько пунктов, которые можно вызвать как при наведении указателя мыши на пункт меню и щелчке левой кнопкой, так и при помощи горячих клавиш (Ctrl + кнопка с названием подчеркнутой буквы нужного пункта меню).
5.Описание работы меню
1) Первый пункт называется «Работа с базой данных» и позволяет производить основные операции над ней. Распечатка появляющегося подменю, при выборе данного пункта показана на Рис.2.
При выборе пункта «Просмотр данных» осуществляется вывод на экран базы данных при помощи команды BROWSE. С помощью полос прокруток можно видеть структуру базы данных и её содержимое. Пункт «Ввод данных» позволяет ввести новые данные в базу. При его выборе появляется окошко с наименованиями полей и пустым содержимым. Необходимо ввести в нужные поля новые данные в соответствии с их типом.
В поля type (вид прибора), postavshik (его поставщик) и naimenov (наименование прибора) можно ввести любые символьные данные длиной не более 20 символов. Поле proizvodit (сведения о производителе) также может содержать символьные данные, но длиной 15 символов. Ограничения на число вводимых символов необходимо для того, чтобы при распечатке базы данных как на экран, так и на принтер она выводилась в «красивом» виде (то есть, чтобы поля при выводе не перекрывали друг друга). Поля data_vipus (дата выпуска) и data_prod (дата продажи) имеют тип data (дата) и вводятся в виде месяц/число/год. Поля price (цена) и weight (вес) имеют тип double с двумя десятичными символами после запятой. И, наконец, поле kol_prodan (количество проданных электроприборов текущего вида) имеет тип Integer.
После заполнения нужных полей новая запись помещается в конец таблицы.

Рис. 2
Пункт «Редактирование» позволяет осуществить редактирование базы данных. При его выборе появляется окошко с перечнем полей всех записей, в котором можно изменить содержимое требуемых данных. Все изменения вступят в силу после закрытия данного окна.
Наконец, пункт «Вывод на экран» позволяет вывести на экран созданный ранее отчёт с содержимым базы данных. Примерный его вид показан на Рис. 4.
2) Второй пункт меню называется «Запросы». Он позволяет осуществлять поиск или выборку данных в базе в соответствии с различными критериями. Данное подменю показано на Рис. 3.

Рис. 3

Рис. 4
Пункт «Сведения о приборах» просто дублирует действие пункта «Вывод на экран» меню «Работа с базой данных» и присутствует здесь только лишь потому, что это оговорено заданием.
При выборе пункта «Сортировка по…» появляется всплывающее меню, показанное на Рис.5. После чего осуществляется сортировка (по возрастанию) всей базы данных по выбранному полю, затем выводится отчёт с уже упорядоченным содержимым.
Пункт «Поиск (в зависимости от цены)» позволяет найти в базе данных электроприбор, имеющий, например, максимальную или среднюю цену. Выбор предмета поиска зависит от пользователя и может
Рис. 5 содержать следующие вариации, определяемые всплывающим меню, которое появляется при наведении указателя мыши на данный пункт. Это отражено на Рис.6.

Пример поиска прибора, имеющего минимальную цену, приведён на Рис.7.
Рис. 6

Рис. 7
При выборе пункта «Цены, заданной в пределах» вызывается форма (или диалоговое окошко), в котором предлагается ввести промежуток поиска для цены. После нажатия на кнопку «Найти» программа произведёт поиск и выведет на экран все записи, удовлетворяющие условию (см. Рис.8).
Назначение остальных пунктов меню интуитивно понятно и полностью согласуется с заданием, поэтому специально останавливаться на их описании я не буду, а приведу
лишь распечатки форм, Рис. 8 которые нужно заполнить, чтобы выполнить нужный запрос (они показаны соответственно на Рис.9, Рис.10, Рис.11, Рис.12, Рис.13).

Рис. 9

Рис. 10

Рис. 11

Рис. 12

Рис. 13
Поиск приборов, проданных за определённый период, считается по следующей формуле:
Доля проданных приборов (%) = (количество электроприборов, дата продажи которых попадает в промежуток времени, заданный пользователем / общее количество электроприборов) * 100%
Вывод результата осуществляется в текстовую область с точностью до двух десятичных знаков.
К слову сказать, все запросы выполнены при помощи языка запросов SQL (содержимое файлов – запросов см. в п. «Программные файлы»).
3) Последний пункт меню («Выход») осуществляет выход из программы и возврат к стандартному меню Visual FoxPro при помощи команды set sysmenu to default.
6.Руководство пользователя
Основной методикой при работе с программой является просто использование команд меню и наблюдение за результатами работы той или иной команды. Подробное описание пунктов меню и работа с ним приведены в соответствующем пункте отчёта. Добавить к этому мне просто нечего. Возникает другой вопрос, как вызвать это меню? Для этого нужно в оболочке Visual FoxPro 5.0 (или любой другой с номером версии выше 5.0) в меню “Program” выбрать пункт “Do”, после чего указать путь к файлу ELECTRICAL-DEVICES. MPR и нажать кнопку «Do». Стандартное меню Visual FoxPro заменится меню данной программы. Теперь можно выбирать команды меню и осуществлять необходимые действия.
7.Программные файлы
electrical-devices. DBF - Содержит таблицу базы данных.
find_data_vipus.scx (обработчик кнопки «Найти»)
SELECT ELECTRICAL_DEVICES. Type, ELECTRICAL_DEVICES. Naimenov,;
ELECTRICAL_DEVICES. Data_vipus, ELECTRICAL_DEVICES. Postavshik,;
ELECTRICAL_DEVICES. Price, ELECTRICAL_DEVICES. Weight,;
ELECTRICAL_DEVICES. Proizvodit, ELECTRICAL_DEVICES. Data_prod,;
ELECTRICAL_DEVICES. Kol_prodan;
FROM D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES. DBF ELECTRICAL_DEVICES;
WHERE (ELECTRICAL_DEVICES. Data_vipus==find_data_vipus. Text1.Value);
ORDER BY ELECTRICAL_DEVICES. Proizvodit
find_dolya.scx (обработчик кнопки «Найти»)
close all
use d:\ngtu\субд\rgr\electrical-devices. dbf
calculate sum(kol_prodan) to s1
calculate sum(kol_prodan) for between(data_prod, find_dolya. Text1.Value, find_dolya. Text2.Value) to s2
clear
find_dolya. Text3.Value=ROUND((s2/s1)*100,2)
find_proizvod. scx (обработчик кнопки «Найти»)
SELECT ELECTRICAL_DEVICES. Type, ELECTRICAL_DEVICES. Naimenov,;
ELECTRICAL_DEVICES. Data_vipus, ELECTRICAL_DEVICES. Postavshik,;
ELECTRICAL_DEVICES. Price, ELECTRICAL_DEVICES. Weight,;
ELECTRICAL_DEVICES. Proizvodit, ELECTRICAL_DEVICES. Data_prod,;
ELECTRICAL_DEVICES. Kol_prodan;
FROM D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES. DBF ELECTRICAL_DEVICES;
WHERE (ELECTRICAL_DEVICES. Proizvodit==find_proizvod. Text1.Value);
ORDER BY ELECTRICAL_DEVICES. Proizvodit
find_proizvod_weight_beetwen.scx (обработчик кнопки «Найти»)
SELECT ELECTRICAL_DEVICES. Type, ELECTRICAL_DEVICES. Naimenov,;
ELECTRICAL_DEVICES. Data_vipus, ELECTRICAL_DEVICES. Postavshik,;
ELECTRICAL_DEVICES. Price, ELECTRICAL_DEVICES. Weight,;
ELECTRICAL_DEVICES. Proizvodit, ELECTRICAL_DEVICES. Data_prod,;
ELECTRICAL_DEVICES. Kol_prodan;
FROM D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES. DBF ELECTRICAL_DEVICES;
WHERE (ELECTRICAL_DEVICES. Proizvodit==find_proizvod_weight_beetwen. Text1.Value AND BETWEEN(ELECTRICAL_DEVICES. Weight, find_proizvod_weight_beetwen. Text2.Value, find_proizvod_weight_beetwen. Text3.Value));
ORDER BY ELECTRICAL_DEVICES. Proizvodit
price_beetwen. scx (обработчик кнопки «Найти»)
SELECT ELECTRICAL_DEVICES. Type, ELECTRICAL_DEVICES. Naimenov,;
ELECTRICAL_DEVICES. Data_vipus, ELECTRICAL_DEVICES. Postavshik,;
ELECTRICAL_DEVICES. Price, ELECTRICAL_DEVICES. Weight,;
ELECTRICAL_DEVICES. Proizvodit, ELECTRICAL_DEVICES. Data_prod,;
ELECTRICAL_DEVICES. Kol_prodan;
FROM D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES. DBF ELECTRICAL_DEVICES;
WHERE (BETWEEN(ELECTRICAL_DEVICES. PRICE, price_beetwen. Text1.Value, price_beetwen. Text2.Value));
ORDER BY ELECTRICAL_DEVICES. Price
weight_beetwen. scx (обработчик кнопки «Найти»)
SELECT ELECTRICAL_DEVICES. Type, ELECTRICAL_DEVICES. Naimenov,;
ELECTRICAL_DEVICES. Data_vipus, ELECTRICAL_DEVICES. Postavshik,;
ELECTRICAL_DEVICES. Price, ELECTRICAL_DEVICES. Weight,;
ELECTRICAL_DEVICES. Proizvodit, ELECTRICAL_DEVICES. Data_prod,;
ELECTRICAL_DEVICES. Kol_prodan;
FROM D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES. DBF ELECTRICAL_DEVICES;
WHERE (BETWEEN(ELECTRICAL_DEVICES. Weight, weight_beetwen. Text1.Value, weight_beetwen. Text2.Value));
ORDER BY ELECTRICAL_DEVICES. Weight
8.Тексты программ
Ниже приводится текст программы меню, сгенерированный мастером.
* *
* *
* * 11/21/01 ELECTRICAL-DEVICES. MPR 17:18:51
* *
* *
* *
* * Author's Name
* *
* * Copyright (C) 2001 Company Name
* * Address
* * City, Zip
* *
* * Description:
* * This PROGRAM was automatically generated BY GENMENU.
* *
* *
* *
* *
* * Menu Definition
* *
* *
*
SET SYSMENU TO
SET SYSMENU AUTOMATIC
DEFINE PAD _0j8113zc0 OF _MSYSMENU PROMPT "Работа с базой данных" COLOR SCHEME 3 ;
KEY CTRL+H, "CTRL+H"
DEFINE PAD _0j8113zc1 OF _MSYSMENU PROMPT "Запросы" COLOR SCHEME 3 ;
KEY CTRL+P, "CTRL+P"
DEFINE PAD _0j8113zc2 OF _MSYSMENU PROMPT "Выход" COLOR SCHEME 3 ;
KEY CTRL+D, "CTRL+D"
ON PAD _0j8113zc0 OF _MSYSMENU ACTIVATE POPUP работасбаз
ON PAD _0j8113zc1 OF _MSYSMENU ACTIVATE POPUP запросы
ON SELECTION PAD _0j8113zc2 OF _MSYSMENU set sysmenu to default
DEFINE POPUP работасбаз MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF работасбаз PROMPT "Просмотр данных"
DEFINE BAR 2 OF работасбаз PROMPT "Ввод данных"
DEFINE BAR 3 OF работасбаз PROMPT "Редактирование"
DEFINE BAR 4 OF работасбаз PROMPT "Вывод на экран"
ON SELECTION BAR 1 OF работасбаз ;
DO _0j8113zcn ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 2 OF работасбаз ;
DO _0j8113zcq ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 3 OF работасбаз ;
DO _0j8113zcs ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 4 OF работасбаз ;
DO _0j8113zcu ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
DEFINE POPUP запросы MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF запросы PROMPT "Сведения о приборах"
DEFINE BAR 2 OF запросы PROMPT "Сортировка по..."
DEFINE BAR 3 OF запросы PROMPT "Поиск (в зависимости от цены)"
DEFINE BAR 4 OF запросы PROMPT "Поиск приборов заданного призводителя"
DEFINE BAR 5 OF запросы PROMPT "Поиск приборов с заданной датой выпуска"
DEFINE BAR 6 OF запросы PROMPT "Поиск приборов с весом в заданных пределах"
DEFINE BAR 7 OF запросы PROMPT "Поиск приборов заданного производителя с весом в заданных пределах"
DEFINE BAR 8 OF запросы PROMPT "Поиск доли приборов за определённый период"
DEFINE BAR 9 OF запросы PROMPT "Поиск самого популярного вида электроприборов"
ON SELECTION BAR 1 OF запросы ;
DO _0j8113zd0 ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON BAR 2 OF запросы ACTIVATE POPUP сортировка
ON BAR 3 OF запросы ACTIVATE POPUP поисквзави
ON SELECTION BAR 4 OF запросы ;
DO _0j8113zd3 ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 5 OF запросы ;
DO _0j8113zd5 ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 6 OF запросы ;
DO _0j8113zd7 ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 7 OF запросы ;
DO _0j8113zda ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 8 OF запросы ;
DO _0j8113zdb ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 9 OF запросы ;
DO _0j8113zdd ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
DEFINE POPUP сортировка MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF сортировка PROMPT "дате выпуска"
DEFINE BAR 2 OF сортировка PROMPT "поставщику"
DEFINE BAR 3 OF сортировка PROMPT "весу"
DEFINE BAR 4 OF сортировка PROMPT "стоимости"
DEFINE BAR 5 OF сортировка PROMPT "дате продажи"
ON SELECTION BAR 1 OF сортировка ;
DO _0j8113zdh ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 2 OF сортировка ;
DO _0j8113zdj ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 3 OF сортировка ;
DO _0j8113zdl ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 4 OF сортировка ;
DO _0j8113zdn ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 5 OF сортировка ;
DO _0j8113zdp ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
DEFINE POPUP поисквзави MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF поисквзави PROMPT "самого дорогого прибора"
DEFINE BAR 2 OF поисквзави PROMPT "самого дешёвого прибора"
DEFINE BAR 3 OF поисквзави PROMPT "общей средней стоимости"
DEFINE BAR 4 OF поисквзави PROMPT "цены, заданной в пределах"
ON SELECTION BAR 1 OF поисквзави ;
DO _0j8113zds ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 2 OF поисквзави ;
DO _0j8113zdv ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 3 OF поисквзави ;
DO _0j8113zdx ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
ON SELECTION BAR 4 OF поисквзави ;
DO _0j8113zdz ;
IN LOCFILE("D:\NGTU\СУБД\RGR\ELECTRICAL-DEVICES" ,"MPX;MPR|FXP;PRG" ,"WHERE is ELECTRICAL-DEVICES?")
* *
* *
* * _0J8113ZCN ON SELECTION BAR 1 OF POPUP работасбаз
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 5
* * Called By: ON SELECTION BAR 1 OF POPUP работасбаз
* * Prompt: Просмотр данных
* * Snippet: 1
* *
* *
*
PROCEDURE _0j8113zcn
close all
use d:\ngtu\субд\rgr\electrical-devices
browse
* *
* *
* * _0J8113ZCQ ON SELECTION BAR 2 OF POPUP работасбаз
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 6
* * Called By: ON SELECTION BAR 2 OF POPUP работасбаз
* * Prompt: Ввод данных
* * Snippet: 2
* *
* *
*
PROCEDURE _0j8113zcq
close all
use d:\ngtu\субд\rgr\electrical-devices
append
* *
* *
* * _0J8113ZCS ON SELECTION BAR 3 OF POPUP работасбаз
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 7
* * Called By: ON SELECTION BAR 3 OF POPUP работасбаз
* * Prompt: Редактирование
* * Snippet: 3
* *
* *
*
PROCEDURE _0j8113zcs
close all
use d:\ngtu\субд\rgr\electrical-devices
edit
* *
* *
* * _0J8113ZCU ON SELECTION BAR 4 OF POPUP работасбаз
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 8
* * Called By: ON SELECTION BAR 4 OF POPUP работасбаз
* * Prompt: Вывод на экран
* * Snippet: 4
* *
* *
*
PROCEDURE _0j8113zcu
report form d:\ngtu\субд\rgr\electrical-devices. frx
* *
* *
* * _0J8113ZD0 ON SELECTION BAR 1 OF POPUP запросы
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 11
* * Called By: ON SELECTION BAR 1 OF POPUP запросы
* * Prompt: Сведения о приборах
* * Snippet: 5
* *
* *
*
PROCEDURE _0j8113zd0
report form d:\ngtu\субд\rgr\electrical-devices. frx
* *
* *
* * _0J8113ZD3 ON SELECTION BAR 4 OF POPUP запросы
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 25
* * Called By: ON SELECTION BAR 4 OF POPUP запросы
* * Prompt: Поиск приборов заданного призводителя
* * Snippet: 6
* *
* *
*
PROCEDURE _0j8113zd3
do form d:\ngtu\субд\rgr\find_proizvod. scx
* *
* *
* * _0J8113ZD5 ON SELECTION BAR 5 OF POPUP запросы
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 26
* * Called By: ON SELECTION BAR 5 OF POPUP запросы
* * Prompt: Поиск приборов с заданной датой выпуска
* * Snippet: 7
* *
* *
*
PROCEDURE _0j8113zd5
do form d:\ngtu\субд\rgr\find_data_vipus. scx
* *
* *
* * _0J8113ZD7 ON SELECTION BAR 6 OF POPUP запросы
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 27
* * Called By: ON SELECTION BAR 6 OF POPUP запросы
* * Prompt: Поиск приборов с весом в заданных пределах
* * Snippet: 8
* *
* *
*
PROCEDURE _0j8113zd7
do form d:\ngtu\субд\rgr\weight_beetwen. scx
* *
* *
* * _0J8113ZDA ON SELECTION BAR 7 OF POPUP запросы
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 28
* * Called By: ON SELECTION BAR 7 OF POPUP запросы
* * Prompt: Поиск приборов заданного производителя с весом в заданных пределах
* * Snippet: 9
* *
* *
*
PROCEDURE _0j8113zda
do form d:\ngtu\субд\rgr\find_proizvod_weight_beetwen. scx
* *
* *
* * _0J8113ZDB ON SELECTION BAR 8 OF POPUP запросы
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 29
* * Called By: ON SELECTION BAR 8 OF POPUP запросы
* * Prompt: Поиск доли приборов за определённый период
* * Snippet: 10
* *
* *
*
PROCEDURE _0j8113zdb
do form d:\ngtu\субд\rgr\find_dolya. scx
* *
* *
* * _0J8113ZDD ON SELECTION BAR 9 OF POPUP запросы
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 30
* * Called By: ON SELECTION BAR 9 OF POPUP запросы
* * Prompt: Поиск самого популярного вида электроприборов
* * Snippet: 11
* *
* *
*
PROCEDURE _0j8113zdd
SELECT TOP 1 Electrical_devices. type, Electrical_devices. naimenov,;
Electrical_devices. weight, Electrical_devices. proizvodit,;
Electrical_devices. price, Electrical_devices. kol_prodan;
FROM "d:\ngtu\субд\rgr\electrical-devices" Electrical_devices;
ORDER BY Electrical_devices. kol_prodan DESC;
* *
* *
* * _0J8113ZDH ON SELECTION BAR 1 OF POPUP сортировка
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 14
* * Called By: ON SELECTION BAR 1 OF POPUP сортировка
* * Prompt: дате выпуска
* * Snippet: 12
* *
* *
*
PROCEDURE _0j8113zdh
close all
use d:\ngtu\субд\rgr\electrical-devices
erase d:\ngtu\субд\rgr\electrical-devices. idx
index on data_vipus to d:\ngtu\субд\rgr\electrical-devices. idx
report form d:\ngtu\субд\rgr\electrical-devices
* *
* *
* * _0J8113ZDJ ON SELECTION BAR 2 OF POPUP сортировка
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 15
* * Called By: ON SELECTION BAR 2 OF POPUP сортировка
* * Prompt: поставщику
* * Snippet: 13
* *
* *
*
PROCEDURE _0j8113zdj
close all
use d:\ngtu\субд\rgr\electrical-devices
erase d:\ngtu\субд\rgr\electrical-devices. idx
index on postavshik to d:\ngtu\субд\rgr\electrical-devices. idx
report form d:\ngtu\субд\rgr\electrical-devices
* *
* *
* * _0J8113ZDL ON SELECTION BAR 3 OF POPUP сортировка
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 16
* * Called By: ON SELECTION BAR 3 OF POPUP сортировка
* * Prompt: весу
* * Snippet: 14
* *
* *
*
PROCEDURE _0j8113zdl
close all
use d:\ngtu\субд\rgr\electrical-devices
erase d:\ngtu\субд\rgr\electrical-devices. idx
index on weight to d:\ngtu\субд\rgr\electrical-devices. idx
report form d:\ngtu\субд\rgr\electrical-devices
* *
* *
* * _0J8113ZDN ON SELECTION BAR 4 OF POPUP сортировка
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 17
* * Called By: ON SELECTION BAR 4 OF POPUP сортировка
* * Prompt: стоимости
* * Snippet: 15
* *
* *
*
PROCEDURE _0j8113zdn
close all
use d:\ngtu\субд\rgr\electrical-devices
erase d:\ngtu\субд\rgr\electrical-devices. idx
index on price to d:\ngtu\субд\rgr\electrical-devices. idx
report form d:\ngtu\субд\rgr\electrical-devices
* *
* *
* * _0J8113ZDP ON SELECTION BAR 5 OF POPUP сортировка
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 18
* * Called By: ON SELECTION BAR 5 OF POPUP сортировка
* * Prompt: дате продажи
* * Snippet: 16
* *
* *
*
PROCEDURE _0j8113zdp
close all
use d:\ngtu\субд\rgr\electrical-devices
erase d:\ngtu\субд\rgr\electrical-devices. idx
index on data_prod to d:\ngtu\субд\rgr\electrical-devices. idx
report form d:\ngtu\субд\rgr\electrical-devices
* *
* *
* * _0J8113ZDS ON SELECTION BAR 1 OF POPUP поисквзави
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 21
* * Called By: ON SELECTION BAR 1 OF POPUP поисквзави
* * Prompt: самого дорогого прибора
* * Snippet: 17
* *
* *
*
PROCEDURE _0j8113zds
SELECT TOP 1 Electrical_devices. type, Electrical_devices. naimenov,;
Electrical_devices. weight, Electrical_devices. proizvodit,;
Electrical_devices. price;
FROM "d:\ngtu\субд\rgr\electrical-devices" Electrical_devices;
ORDER BY Electrical_devices. price DESC;
* *
* *
* * _0J8113ZDV ON SELECTION BAR 2 OF POPUP поисквзави
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 22
* * Called By: ON SELECTION BAR 2 OF POPUP поисквзави
* * Prompt: самого дешёвого прибора
* * Snippet: 18
* *
* *
*
PROCEDURE _0j8113zdv
SELECT TOP 1 Electrical_devices. type, Electrical_devices. naimenov,;
Electrical_devices. weight, Electrical_devices. proizvodit,;
Electrical_devices. price;
FROM "d:\ngtu\субд\rgr\electrical-devices" Electrical_devices;
ORDER BY Electrical_devices. price;
* *
* *
* * _0J8113ZDX ON SELECTION BAR 3 OF POPUP поисквзави
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 23
* * Called By: ON SELECTION BAR 3 OF POPUP поисквзави
* * Prompt: общей средней стоимости
* * Snippet: 19
* *
* *
*
PROCEDURE _0j8113zdx
SELECT AVG(Electrical_devices. price);
FROM "d:\ngtu\субд\rgr\electrical-devices" Electrical_devices;
* *
* *
* * _0J8113ZDZ ON SELECTION BAR 4 OF POPUP поисквзави
* *
* * Procedure Origin:
* *
* * From Menu: ELECTRICAL-DEVICES. MPR, Record: 24
* * Called By: ON SELECTION BAR 4 OF POPUP поисквзави
* * Prompt: цены, заданной в пределах
* * Snippet: 20
* *
* *
*
PROCEDURE _0j8113zdz
do form d:\ngtu\субд\rgr\price_beetwen. scx
9.Программная оболочка
Данная расчётно-графическая работа написана полностью в среде Microsoft Visual FoxPro 6.0, входящей в состав Microsoft Visual Studio 6.0. Все запросы выполнены с помощью языка запросов SQL. При разработке меню, форм и отчётов использовались соответствующие мастера (мастер построения меню, мастер построения форм и мастер построения отчётов). Работа выполнялась в среде операционной системы Windows 98 Second Edition.
10.Аппаратная поддержка
Работа тестировалась на следующей конфигурации компьютера:
Процессор – Intel Celeron 433
Память – 64 Mb SDRAM
Видеокарта – Riva TNT-2 M64 32 Mb
Аудиокарта – Aureal Vortex SQ2200 AU8830
HDD – Seagate U6 40 Gb
Monitor – ViewSonic E655
11.Примеры работы программы
1) Сортировка БД по стоимости

2) Поиск общей средней стоимости

3) Поиск цены, заданной в пределах

4) Поиск электроприборов с заданной датой выпуска

5) Поиск электроприборов заданного производителя, с весом в заданных пределах

6) Поиск доли приборов, проданных за определённый период

7) Просмотр данных



