&&принтер
CommandGroup1.Command3.Click( ) && кнопка Выход
Release THISFORM &&уничтожение формы
Рис. 9 Содержимое пункта меню Exit
Выход реализуется следующим образом:
· Из базы данных
CLEAR ALL
CLOSE ALL
SET SYSMENU TO DEFAULT && восстановление системного меню
· Из Visual FoxPro 5
QUIT
Примеры обработки запросов:
Как можно было заметить в процедурах обработки формы запросов form_query.scx происходит лишь вызов запросов и нам по сути ничего не известно о его структуре. Чтобы восполнить данный пробел ниже приводится листинг этих запросов с примерами работы. Все запросы в приложении находятся в файлах QueryX.qpr ( где Х совпадает с номером запроса в задании)
Запрос №1: Сведения о лекарствах, назначенных определенному пациенту
SELECT Patient_medic.i_id_man AS Код_пациента, Patients.c_name;
AS Ф_И_О, Medic.с_name AS Название_лекарства,Medic.c_way AS;
Способ_приминения, Patient_medic.d_start AS Начало_лечения,;
Patient_medic.d_end AS Конец_лечения, Patients.i_chamber AS;
Номер_палаты, Id_separations.c_separation AS Отделение;
FROM medicines!medic INNER JOIN medicines!patient_medic;
INNER JOIN medicines!patients;
INNER JOIN medicines!chambers_separations;
INNER JOIN medicines!id_separations ;
ON Id_separations.i_id_separation = Chambers_separations.i_id_separation ;
ON Chambers_separations.i_chamber = Patients.i_chamber ;
ON Patients.i_id_man = Patient_medic.i_id_man ;
ON Medic.i_id_medic = Patient_medic.i_id_medic;
WHERE UPPER (Patients.c_name) LIKE ("%"+cPatientName+"%"); &&запись в таком виде
&&позволяет осуществлять поиск не по полному имени, а по его любой части
ORDER BY Patient_medic.i_id_man
Рис.10 Пример работы запроса при cPatientName = ”Ольга”
Запрос №2: Сведения о пациентах, которым назначено определенное лекарство
SELECT Patient_medic.i_id_man AS Код_пациента, Patients.c_name;
AS Ф_И_О, Medic.с_name AS Название_лекарства, Medic.c_way AS ;
Способ_приминения, Patient_medic.d_start AS Начало_лечения,;
Patient_medic.d_end AS Конец_лечения, Patients.i_chamber AS ;
Номер_палаты, Id_separations.c_separation AS Отделение;
FROM medicines!medic INNER JOIN medicines!patient_medic;
INNER JOIN medicines!patients;
INNER JOIN medicines!chambers_separations;
INNER JOIN medicines!id_separations ;
ON Id_separations.i_id_separation = Chambers_separations.i_id_separation ;
ON Chambers_separations.i_chamber = Patients.i_chamber ;
ON Patients.i_id_man = Patient_medic.i_id_man ;
ON Medic.i_id_medic = Patient_medic.i_id_medic;
WHERE UPPER(Medic.с_name) LIKE ("%"+cMedicName+"%");
ORDER BY Patient_medic.i_id_man
Рис.11 Пример работы запроса при cMedicName = ”ирин”
Запрос №3: Данные о цене определенного лекарства
SELECT Medic.i_id_medic AS Код_лекарства, Medic.с_name;
AS Название_лекарства,Medic.c_way AS Способ_приминения,;
Price.y_price AS Цена, Price.d_data AS Дата_поставки;
FROM medicines!medic INNER JOIN medicines!price ;
ON Medic.i_id_medic = Price.i_id_medic;
WHERE UPPER(Medic.с_name) LIKE ("%"+cMedicName+"%");
Рис.12 Пример работы запроса при cMedicName = ”нитроглицирин”
Запрос №4: Сведения о назначениях медикаментов на текущую дату пациентам определенной палаты.
SELECT Patient_medic.i_id_man AS Код_пациента, Patients.c_name AS;
ф_и_о, Medic.с_name AS Название_лекарства, Medic.c_way AS Способ_приминения,;
Patients.i_chamber AS Номер_палаты, Patient_medic.d_start AS;
Начало_лечения, Patient_medic.d_end AS Конец_лечения;
FROM medicines!patients INNER JOIN medicines!patient_medic;
INNER JOIN medicines!medic ;
ON Medic.i_id_medic = Patient_medic.i_id_medic ;
ON Patients.i_id_man = Patient_medic.i_id_man;
WHERE Patients.i_chamber = iChamber;
AND Patient_medic.d_end >= dCurdata;
AND Patient_medic.d_start <= dCurdata;
ORDER BY Patient_medic.i_id_man
Рис.13 Пример работы запроса при iChamber = 1
Заключение:
В результате проделанной работы, при использовании системы управления БД Visual FoxPro 5, была разработана база данных «Расход медикаментов». В ней все таблицы нормализованы до третьей усиленной формы Бойса-Кодда, вся информация распределена между следующими сущностями – Пациенты, Лекарства, Пациенты-Лекарства, Цены. Все данные разнесены по таблицам, которые при необходимости можно редактировать и обновлять. При помощи средств, предоставляемых Visual FoxPro, были разработаны формы, обеспечивающие необходимый пользовательский интерфейс, а также позволяющие организовать интерактивный режим выполнения запросов. Интерфейс пользователя поддерживает требуемый минимум команд управления приложением разработанной базы данных.
Список используемой литературы:
1. Базиян М. Использование Visual FoxPro 6.0. Специальное издание: пер. с англ. – М.: ИД «Вильямс», 2001.
2. Омельченко Л. Самоучитель Visual FoxPro 6.0 – СПб.: BHV, 1999.
Список используемых электронных источников информации:
3. Сайт www.citforum.ru
4. Cайт www.microsoft.com/rus
5. Электронная справка, прилагаемая к СУБД Visual FoxPro 5.0
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.