Разработка базы данных учета материально-технического оснащения кабинета специальной технологии колледжа №32 г.Москвы

Автор работы: Пользователь скрыл имя, 16 Января 2010 в 22:26, Не определен

Описание работы

Пояснительная записка к курсовому проекту

Файлы: 1 файл

УИР_FoxPro.doc

— 717.50 Кб (Скачать файл)
 

Форма “Таблица уроков” позволяет:

  • Показать таблицу уроков

Кнопки формы:

  • Кнопка “Скрыть таблицу” делает форму невидимой
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Форма “Кассеты” 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Рис. №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.cursor1.order='kurs_id'  

ELSE

thisform.DataEnvironment.cursor1.order='num_lesson' 

ENDIF

thisform.grid1.Refresh 

Обработчик  события кнопки “Поиск”  формы “Уроки”. 

PUBLIC found_lesson 

with thisform

found_lesson =INPUTBOX('Введите тему урока или ее начало','Поиcк') 

IF NOT EMPTY(found_lesson) 

&&Задает  правила, согласно которым Visual FoxPro сравнивает две строки разной длины

&&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.cursor1.order='kurs_id'  

ELSE

thisform.DataEnvironment.cursor1.order='num_lesson' 

ENDIF

thisform.grid1.Refresh 

Обработчик  события кнопки “Показать” формы “Уроки”. 
 

IF Thisform.Optiongroup2.Option1.Value=1

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.Value=1

uuu=INPUTBOX('Введите ID урока','Заявка')

t=val(uuu) 

IF EMPTY(uuu)=.f. then

    SELECT Uir_tab_mat.name_mat,Uir_tab_mat.vid_mat;

    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.Value=1

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

Информация о работе Разработка базы данных учета материально-технического оснащения кабинета специальной технологии колледжа №32 г.Москвы