Распечатка текстов программ и «твердые копии» форм документа




Российский Государственный Открытый

Технический Университет Путей Сообщения

факультет

Управление процессами перевозок

 

кафедра

Вычислительная техника

 

Контрольная работа

По дисциплине

Базы данных

Выполнил: студент 5 курса Ермолина Н.М. шифр 0445-п/ИСЖ-1072 Дата ____________ Подпись _________
Проверил:Канд.тех.наук доцент Коптева Л.Г. оценка __________ Дата ____________ Подпись _________  


Москва 2008

Задание на курсовую работу

 

В курсовой работе необходимо:

1. Создать БД:

- создать таблицу;

- заполнить ее данными по своему усмотрению (число записей должно быть 20:25).

2. Составить главный форму, в которой предусмотреть задание главного меню системы.

3. Составить необходимые формы по обработке данных.

4. Создать формы по формированию и выводу документов на принтер.

5. Создать инструкцию пользователя по работе с разработанным приложением.

Пояснительная записка к курсовой работе должна содержать:

· задание и исходные данные;

· структуру исходной базы данных;

· блок – схему алгоритма реализации;

· листинги форм;

· «твердые копии» форм документов.

 


Вариант 2

1. Создать БД, имеющий следующие поля: фамилия, имя, отчество, год рождения, кафедра, должность, учебная нагрузка (в часах), лекции (в часах), консультации (в часах), практические занятия (в часах), лабораторные работы (в часах), курсовые работы (в часах).

2. Главная форма должна содержать меню информационно-справочной системы «Досье учебного отдела»:

· поиск и сортировка данных;

· просмотр;

· и редактирование БД;

· вывод на печать;

· выход.

3. В форме (2) должны присутствовать кнопки:

· «Просмотреть»;

· «Редактировать»;

· «Выйти».

4. В форме печати справок (данных) по:

· фамилиям;

· кафедрам;

· должностям

Должны присутствовать кнопки-переключатели «Просмотр перед печатью» и «Печать номеров строк».

 


Структура исходной базы данных

Наименование поля Тип поля Количество символов в поле Количество знаков после запятой
stroka Integer (Autoincrement)    
family Character   -
name Character   -
otchest Character   -
yearbir Integer   -
kafed Character   -
dolzhnost Character   -
nagruzka Numeric    
lekcii Numeric    
konsult Numeric    
pracktik Numeric    
laborator Numeric    
kursof Numeric    

 

 


Блок – схема алгоритма реализации

 

Распечатка текстов программ и «твердые копии» форм документа

Рис 1. Главная форма

 

Программный код, выполняемый при нажатии на кнопку «Поиск и сортировка данных»:

DO FORM "d:\users\пк\documents\visual foxpro projects\ермолина\поиск и сортировка.scx"

 

Программный код, выполняемый при нажатии на кнопку «Просмотр и редактирование БД»:

DO FORM "d:\users\пк\documents\visual foxpro projects\ермолина\просмотр.scx"

 

Программный код, выполняемый при нажатии на кнопку «Вывод на печать»:

DO FORM "d:\users\пк\documents\visual foxpro projects\ермолина\печать.scx"

 

Программный код, выполняемый при нажатии на кнопку «Выход »:

THISFORM.Release

 

Рис 2. Форма «Поиск и сортировка»

 

Программный код, выполняемый при нажатии на кнопку «Поиск»:

SELECT Table_уебного_отдела.stroka,; Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

WHERE Table_уебного_отдела.family=thisform.text1.Value OR Table_уебного_отдела.name=thisform.text1.Value;

OR Table_уебного_отдела.otchest=thisform.text1.Value OR Table_уебного_отдела.kafed=thisform.text1.Value;

OR Table_уебного_отдела.dolzhnost=thisform.text1.Value;

ORDER BY Table_уебного_отдела.stroka

Рис 3. Результат поиска.

 

Программный код, выполняемый при нажатии на кнопку «Сортировать»:

IF Thisform.Combo1.Value='строке'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.stroka

ENDIF

IF Thisform.Combo1.Value='Фамилия'then

SELECT Table_уебного_отдела.stroka,;

Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.family

ENDIF

IF Thisform.Combo1.Value='имя'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.name;

ENDIF

IF Thisform.Combo1.Value='очество'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.otchest;

ENDIF

IF Thisform.Combo1.Value='год рождения'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.yearbir;

ENDIF

IF Thisform.Combo1.Value='кафедра'then

SELECT Table_уебного_отдела.stroka,;

Table_уебного_отдела.kafed, Table_уебного_отдела.dolzhnost,;

Table_уебного_отдела.family, Table_уебного_отдела.name,;

Table_уебного_отдела.otchest, Table_уебного_отдела.yearbir,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov; FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.kafed;

ENDIF

IF Thisform.Combo1.Value='должность'then

SELECT Table_уебного_отдела.stroka,;

Table_уебного_отдела.dolzhnost+Table_уебного_отдела.kafed,;

Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,; Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,; Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,; Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.dolzhnost;

ENDIF

IF Thisform.Combo1.Value='нагрузка'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.nagruzka;

ENDIF

IF Thisform.Combo1.Value='лекции'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.lekcii;

ENDIF

IF Thisform.Combo1.Value='консультации'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.konsult;

ENDIF

IF Thisform.Combo1.Value='практика'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.pracktik;

ENDIF

IF Thisform.Combo1.Value='лабораторные'then

SELECT Table_уебного_отдела.stroka,;

Table_уебного_отдела.dolzhnost+Table_уебного_отдела.kafed,;

Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;Table_уебного_отдела.nagruzka,; Table_уебного_отдела.lekcii,; Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,; Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.laborator;

ENDIF

IF Thisform.Combo1.Value='курсовик'then

SELECT Table_уебного_отдела.stroka, Table_уебного_отдела.family,;

Table_уебного_отдела.name, Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.kursof;

ENDIF

Рис 4. Результат сортировки по кафедрам.

 

Программный код, выполняемый при нажатии на кнопку «Выход»:

thisform.Releas

Рис 5. Форма «Просмотр и редактирование БД»

 

Программный код, выполняемый при нажатии на кнопку «Просмотреть»:

SELECT Table_уебного_отдела.stroka,;

Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

ORDER BY Table_уебного_отдела.family

Рис 6. Форма «Просмотреть»

 

Программный код, выполняемый при нажатии на кнопку «Редактировать»:

DO FORM "d:\users\пк\documents\visual foxpro projects\ермолина\досье уебного отдела.scx"

thisform.Release

Рис 7. Форма «Редактирования»

 

Программный код, выполняемый при нажатии на кнопку «Выход»:

thisform.Release

 

 

Рис 7. Форма «Печать справок»

 

Программный код, выполняемый при нажатии на кнопку «По фамилиям»:

IF thisform.Check2.Value=1 then

IF thisform.Check1.Value=1 then

SELECT Table_уебного_отдела.stroka,; Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по фамилиям PREVIEW

ENDIF

SELECT Table_уебного_отдела.stroka,; Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по фамилиям

TO PRINTER PROMPT

ELSE

IF thisform.Check1.Value=1 then

SELECT Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по фамилиям PREVIEW

ENDIF

SELECT Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.yearbir, Table_уебного_отдела.kafed,;

Table_уебного_отдела.dolzhnost, Table_уебного_отдела.nagruzka,;

Table_уебного_отдела.lekcii, Table_уебного_отдела.koncult,;

Table_уебного_отдела.praktika, Table_уебного_отдела.laborator,;

Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по фамилиям

TO PRINTER PROMPT

ENDIF

Рис 8. Форма «Печать по фамилии»

 

Программный код, выполняемый при нажатии на кнопку «По кафедрам»:

IF thisform.Check2.Value=1 then

IF thisform.Check1.Value=1 then

SELECT Table_уебного_отдела.stroka,;

Table_уебного_отдела.kafed+Table_уебного_отдела.dolzhnost,;

Table_уебного_отдела.family, Table_уебного_отдела.name,;

Table_уебного_отдела.otchest, Table_уебного_отдела.yearbir,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по каф PREVIEW

ENDIF

SELECT Table_уебного_отдела.stroka,;

Table_уебного_отдела.kafed+Table_уебного_отдела.dolzhnost,;

Table_уебного_отдела.family, Table_уебного_отдела.name,;

Table_уебного_отдела.otchest, Table_уебного_отдела.yearbir,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по каф

TO PRINTER PROMPT

ELSE

IF thisform.Check1.Value=1 then

SELECT Table_уебного_отдела.kafed+Table_уебного_отдела.dolzhnost,;

Table_уебного_отдела.family, Table_уебного_отдела.name,;

Table_уебного_отдела.otchest, Table_уебного_отдела.yearbir,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по каф PREVIEW

ENDIF

SELECT Table_уебного_отдела.kafed+Table_уебного_отдела.dolzhnost,;

Table_уебного_отдела.family, Table_уебного_отдела.name,;

Table_уебного_отдела.otchest, Table_уебного_отдела.yearbir,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по каф

TO PRINTER PROMPT

ENDIF

Рис 9. Форма «Печать по кафедрам»

 

Программный код, выполняемый при нажатии на кнопку «По должностям»:

IF thisform.Check2.Value=1 then

IF thisform.Check1.Value=1 then

SELECT Table_уебного_отдела.stroka,; Table_уебного_отдела.dolzhnost+Table_уебного_отдела.kafed,;

Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по должностям PREVIEW

ENDIF

SELECT Table_уебного_отдела.stroka,; Table_уебного_отдела.dolzhnost+Table_уебного_отдела.kafed,; Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по должностям PREVIEW

TO PRINTER PROMPT

ELSE

IF thisform.Check1.Value=1 then

SELECT Table_уебного_отдела.dolzhnost+Table_уебного_отдела.kafed,;

Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по должностям PREVIEW

ENDIF

SELECT Table_уебного_отдела.dolzhnost+Table_уебного_отдела.kafed,; Table_уебного_отдела.family+Table_уебного_отдела.name+Table_уебного_отдела.otchest,;

Table_уебного_отдела.nagruzka, Table_уебного_отдела.lekcii,;

Table_уебного_отдела.koncult, Table_уебного_отдела.praktika,;

Table_уебного_отдела.laborator, Table_уебного_отдела.kursov;

FROM;

"досье учебного отдела!table уебного отдела" Table_уебного_отдела;

REPORT FORM по должностям PREVIEW

TO PRINTER PROMPT

ENDIF

Рис 7. Форма «Печать по должностям»

 

Программный код, выполняемый при нажатии на кнопку «Выход»:

THISFORM.Release

 


Вариант 2

Составьте запрос, который выбирает наименьший заказ каждого покупателя.

Таблица Заказы

Таблица Покупки

Решение:

Запрос, который выбирает наименьший заказ каждого покупателя будет выглядеть так:

SELECT MIN(Заказы.amt), Заказы.cnum, Покупки.cname, Покупки.city;

FROM;

заказы;

INNER JOIN покупки;

ON Заказы.cnum = Покупки.cnum;

GROUP BY Заказы.cnum, Покупки.city, Покупки.cname

Используемая литература.

 

  1. Омельченко Л.Н. «Самоучитель Visual Foxpro 8”. СПб.: БХВ-Петербург, 2003. – 688с.: ил.
  2. Коптева Л.Г. Базы данных. Рабочая программа, руководство к лабораторным работам и задание на контрольную работу с методическими указаниями. М.: РГОТУПС, 1997 – 18с.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: