Приклад програми, яка видає звіт, Informix, Бази даних, статті

DATABASE zawod
MAIN
DEFINE zapisx record like kadry.*
DEFINE simw char (200), zapr char (300),fn char (18)

OPEN form maxprim from "maxprim"
DISPLAY form maxprim # вивести екранну форму

CONSTRUCT BY NAME simw ON kadry .* # Введення критеріїв вибору
# З екрану
LET zapr="select * from kadry where ",
simw clipped," order by tabnom "

MESSAGE simw
PREPARE selpr FROM zapr # Виготовлення запиту
DECLARE qquer CURSOR FOR selpr # Оголошення курсора для нього

DISPLAY "Не забудьте натиснути CTRL-O" AT 2,40
PROMPT "Файл, куди виводити звіт? Або CR, якщо на екран:"
FOR fn

IF length (fn) = 0 then START REPORT kadryrep # на екран
else START REPORT kadryrep TO fn # в файл
END IF

# Виконати запит і скинути вибрані рядки до звіту
FOREACH qquer into zapisx .* # Чергову рядок з курсора
OUTPUT TO REPORT kadryrep (zapisx. *) # помістити до звіту
END FOREACH
FINISH REPORT kadryrep # Вивести результати звіту
END MAIN

REPORT kadryrep(z)
DEFINE nameceh like ceh.nameceh
DEFINE z record like kadry.*
# Nomerceh int, # номер цеху
# Tabnom serial, # табельний. номер
# Fio char (20), # прізвище
# Dolvn char (20), # посаду
# Zarplata money (16,2), # зарплата
# Datarovd date # дата народж.
OUTPUT
left margin 0
right margin 80
top margin 0
bottom margin 0
page length 23
ORDER BY z.nomerceh, z.tabnom # Упорядкувати

FORMAT
PAGE HEADER
print "-------------------------------------------------------"
print "цех | таб.ном | фио | посаду | зарплата | дата народж"
print "_______________________________________________________"

ON EVERY ROW
print z.nomerceh using "##", column 4,z.tabnom using "#####",
column 13,z.fio clipped,
column 28,z.dolvn clipped,
column 43,z.zarplata using "$####.##",
column 53,z.datarovd using "dd-mm-yyyy"

BEFORE GROUP OF z.nomerceh
select @nameceh into nameceh from ceh where nomerceh=z.nomerceh
skip to top of page
skip 1 line
print "Цех", nameceh
skip 1 line

AFTER GROUP OF z.nomerceh
need 2 lines
print "У цеху", nameceh clipped, 2 spaces,
group count (*) using "#####", "людина,"
print "Середня зарплата",
group avg (z.zarplata) using "##### руб. # # коп "

PAGE TRAILER
print "заповнена сторінка номер", pageno
pause "натисніть ВВІД"

END REPORT
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Ось що побачить на користувач під час роботи програми:
+-------------------------------------------------------------+
| Вкажіть файл, куди виводити звіт, або CR, якщо на екран: |
| Не забудьте натиснути CONTROL-О |
| |
|---------------------------------------------- |
| Цех [1:4] [] |
| Таб.номер [] |
| Прізвище [* ов] |
| Посаду [] |
| Зарплата [> 500] |
| Дата народження [] |
| |
| |
nomerceh between 1 and 4 and fio matches "* о *" and zarplata> 500
| |
+-------------------------------------------------------------+

цех | таб.ном | фио | посаду | зарплата | дата народж
_______________________________________________________________

Цех дирекція

1 34 иванов директор $ 4000.00
1 35 Кононов зав. з постачання $ 4000.00
У цеху дирекція 2 осіб,
Середня зарплата 4000 руб.00 коп

заповнена сторінка номер 1
натисніть ВВІД

цех | таб.ном | фио | посаду | зарплата | дата народж
_______________________________________________________________

Цех ливарний

12 Лютого Окунєв робочий $ 2000.00
14 лютого липко лаборант $ 2000.00
18 лютого Пухов майстер $ 2000.00
21 лютого Сухов робочий $ 2000.00
24 лютого вуглинок робочий $ 2000.00
У цеху ливарний 5 осіб,
Середня зарплата 2000 руб.00 коп

заповнена сторінка номер 2
натисніть ВВІД

цех | таб.ном | фио | посаду | зарплата | дата народж
_______________________________________________________________

Цех гараж

9 квітень потруев слюсар $ 1230.00
12 квітень гундосим шофер $ 2000.00
У цеху гараж 2 осіб,
Середня зарплата 1615 руб.00 коп

заповнена сторінка номер 3
натисніть ВВІД

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*