Автор работы: Пользователь скрыл имя, 16 Января 2010 в 22:26, Не определен
Пояснительная записка к курсовому проекту
Форма “Таблица уроков” позволяет:
Кнопки формы:
Форма
“Кассеты”
Рис.
№13 Форма “Кассеты”
Данная конструкция аналогична конструкции раздаточных материалов. В наборе форм
используются
три таблицы “Уроки”, “Кассеты”
и “Уроки-Кассеты”.
Запросы
Рис. №14 запрос“Поиск”
Рис. №15 запрос “Удаление урока”
Рис. №16 запрос “Список уроков за месяц”
Рис. №17 запрос“Прикрепление и открепления урока от материала”
Рис. №18 запрос “Список уроков за курс”
Для получения информации по материально-техническому оснащению урока (просмотр списка относящихся к уроку раздаточных материалов и кассет), для удаления желаемого урока, для просмотра информации об уроках за месяц, для прикрепления или открепления кассет и раздаточных материалов от уроков, необходимо ввести идентификационный номер урока. После осуществление проверки на корректность внесенной записи, происходит одно из выше перечисленных действий.
Для получения информации по урокам за курс, вводится номер курса, и после соответствующей проверки, выдается отчет.
Для поиска урока в соответствующие поле вводиться тема урока или ее начальные символы.
Создание
отчетов.
Все отчеты создавались
в режиме конструктора. Данные отчета
отвечают требованиям запросов. Каждый
отчет дополнительно содержит номера
страниц. Отчет “Количество уроков проведенных
за месяц” содержит вычисляемое поле
“Количество уроков”
Рис. №19
Отчет “Список кассет, относящихся
к данному уроку”
Рис. №20
Отчет “Список раздаточных материалов,
относящихся к данному уроку”
Рис. №21
Отчет “Количество уроков проведенных
за месяц”
Рис. №22
Отчет “Список уроков за курс”
Листинги обработчиков.
Обработчик
кнопки “Выход”
основной формы.
IF MESSAGEBOX('Выйти из программы?', 4 + 32 + 256, 'Выход')=6
_screen.ActiveForm.Release()
CLEAR EVENTS
QUIT
ELSE
_screen.ActiveForm.Refresh()
ENDIF
Обработчик
события сортировки
данных таблицы формы
“Уроки”.
IF this.Value=1 then
thisform.DataEnvironment.
ELSE
thisform.DataEnvironment.
ENDIF
thisform.grid1.Refresh
Обработчик
события кнопки “Поиск”
формы “Уроки”.
PUBLIC found_lesson
with thisform
found_lesson =INPUTBOX('Введите
тему урока или ее начало','Поиcк')
IF NOT EMPTY(found_lesson)
&&Задает
правила, согласно которым
&&OFF(По умолчанию) Указывает, что выражения будут эквивалентны, если они совпадают посимвольно вплоть до конца выражения, расположенного справа.
SET EXACT OFF
s=RECNO()
LOCATE FOR Uir_tab_lesson.nam_lesson=
found_lesson
IF NOT FOUND() THEN && все хорошо и запись (и) найдены
messagebox('Поиск не дал результатов',48)
&& Возврат к записи с которой был начат поиск
GO s
.Command7.Enabled=.f.
ELSE
.command7.Enabled=.t.
ENDIF
ENDIF
.grid1.setfocus
ENDWITH
Обработчик
события кнопки “Далее”
формы “Уроки”.
SET EXACT OFF
s=RECNO()
&& Поиск
следующей, отвеч. строке
CONTINUE
IF NOT FOUND()
GO s
This.Enabled= .F.
ENDIF
ThisForm.Grid1.SetFocus
Обработчик
события кнопки “Обновить”
формы “Уроки”.
_screen.ActiveForm. refresh()
IF thisform.Optiongroup1.Value=1 then
thisform.DataEnvironment.
ELSE
thisform.DataEnvironment.
ENDIF
thisform.grid1.Refresh
Обработчик
события кнопки “Показать”
формы “Уроки”.
IF Thisform.Optiongroup2.Option1.
uuu=INPUTBOX('Введите ID урока','Заявка')
t=val(uuu)
IF EMPTY(uuu)=.f. then
SELECT Uir_tab_kasseta.name_kas, Uir_tab_kasseta.time_kas;
FROM ;
uir_tab_lk INNER JOIN uir_tab_kasseta ;
ON Uir_tab_lk.kass_id = Uir_tab_kasseta.kass_id;
WHERE Uir_tab_lk.lesson_id = t;
INTO TABLE time_tab7
REPORT FORM
uir_report7 preview
SELECT time_tab7
DELETE ALL
PACK
ELSE thisform.Refresh
endif
ENDIF
IF Thisform.Optiongroup2.Option2.
uuu=INPUTBOX('Введите ID урока','Заявка')
t=val(uuu)
IF EMPTY(uuu)=.f. then
SELECT Uir_tab_mat.name_mat,Uir_tab_
FROM uir_tab_lm INNER JOIN uir_tab_mat ;
ON Uir_tab_lm.mat_id = Uir_tab_mat.mat_id;
WHERE Uir_tab_lesson.lesson_id = t;
INTO
TABLE time_tab8
REPORT FORM uir_report8 preview
SELECT time_tab8
DELETE ALL
Pack
ELSE thisform.Refresh
Endif
ENDIF
IF Thisform.Optiongroup2.Option3.
PUBLIC uuu_mes
uuu_mes=INPUTBOX('Введите месяц','Заявка')
IF EMPTY(uuu_mes)=.f. then
SELECT Uir_tab_lesson.kurs_id, Uir_tab_lesson.num_lesson,;
Uir_tab_lesson.nam_lesson;
FROM uir_tab_lesson;
WHERE Uir_tab_lesson.mes_id = uuu_mes;
INTO TABLE time_tab1
REPORT FORM uir_report4 preview
SELECT time_tab1
DELETE ALL
PACK
ELSE thisform.Refresh
Endif
ENDIF
Обработчик
события кнопки “Удалить”
формы “Уроки”.
uuuz=INPUTBOX('Введите
ID урока, который желаете удалить','Удаление
записи из таблицы')
IF EMPTY(uuuz)=.f. then
DO WHILE Type(uuuz)!='N'
MESSAGEBOX('Вы ввели некорректное значение (ID числовое значение)')
uuuz=INPUTBOX('Введите
ID урока, который желаете
ENDDO
tu=val(uuuz)
LOCAL ARRAY ss1(20)
SELECT Uir_tab_lesson.nam_lesson;
FROM uir_tab_lesson;
WHERE Uir_tab_lesson.lesson_id =tu;
INTO ARRAY ss1
If EMPTY(ss1)
MESSAGEBOX('Такого значения ID нет в списке данных')
else
SELECT Uir_tab_lesson
DELETE;
FROM Uir_tab_lesson;
WHERE uir_tab_lesson.lesson_id = tu
PACK
SELECT Uir_tab_lm
DELETE;
FROM Uir_tab_lm;
WHERE uir_tab_lm.lesson_id = tu
PACK
SELECT Uir_tab_lk
DELETE;
FROM Uir_tab_lk;
WHERE uir_tab_lk.lesson_id = tu
PACK
_screen.ActiveForm.Release()
DO FORM uir_les_form8
ENDIF
ELSE Thisform.Refresh
ENDIF
Обработчик
события кнопки “Первая”
формы “Раздаточные
материалы”.
IF !BOF()
GO TOP
ENDIF
_screen.ActiveForm.Refresh()
ee1=thisform.Text1.Value
SELECT Uir_tab_lesson.nam_lesson;
FROM uir_tab_mat INNER JOIN uir_tab_lm ;
ON Uir_tab_mat.mat_id = Uir_tab_lm.mat_id ;
INNER JOIN uir_tab_lesson ;
ON Uir_tab_lm.lesson_id = Uir_tab_lesson.lesson_id;
WHERE Uir_tab_mat.mat_id =ee1;
INTO ARRAY less1
IF ISNULL(less1)
less1[1]=' '
ENDIF
thisform.List1.Refresh
Обработчик
события кнопки “Следущая”
формы “Раздаточные
материалы”.
IF !EOF()
SKIP
ENDIF
_screen.ActiveForm.Refresh()
ee1=thisform.Text1.Value
SELECT Uir_tab_lesson.nam_lesson;
FROM uir_tab_mat INNER JOIN uir_tab_lm ;
ON Uir_tab_mat.mat_id = Uir_tab_lm.mat_id ;
INNER JOIN uir_tab_lesson ;
ON Uir_tab_lm.lesson_id = Uir_tab_lesson.lesson_id;
WHERE Uir_tab_mat.mat_id =ee1;
INTO ARRAY less1
IF ISNULL(less1)
less1[1]=' '
ENDIF
thisform.List1.Refresh
Обработчик
события кнопки “Предыдущая”
формы “Раздаточные
материалы”.
IF !BOF ( )
SKIP - 1
ENDIF
_screen. ActiveForm. Refresh
()
ee1=thisform.Text1.Value
SELECT Uir_tab_lesson.nam_lesson;
FROM uir_tab_mat INNER JOIN uir_tab_lm ;
ON Uir_tab_mat.mat_id = Uir_tab_lm.mat_id ;
INNER JOIN uir_tab_lesson ;
ON Uir_tab_lm.lesson_id = Uir_tab_lesson.lesson_id;
WHERE Uir_tab_mat.mat_id =ee1;
INTO ARRAY less1