Пример программы
Logo CitForum CITForum на CD Форумы Газета Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

18.03.2010

Google
WWW CITForum.ru

Новости мира IT:

Архив новостей

Пятнадцатая техническая конференция «Корпоративные базы данных-2010»
Москва, 22–23 апреля

Пример программы, выдающей отчет


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

нажмите ВВОД

---------------------------------------------------------------------------



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

_______________________________________________________________



Цех   литейный



 2    12    окунев         рабочий        $ 2000.00

 2    14    липко          лаборант       $ 2000.00

 2    18    пухов          мастер         $ 2000.00

 2    21    сухов          рабочий        $ 2000.00

 2    24    угольков       рабочий        $ 2000.00

 В цехе литейный      5 человек,

 Средняя зарплата   2000 руб.00 коп



заполнена страница номер          2

нажмите ВВОД

---------------------------------------------------------------------------



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

_______________________________________________________________



Цех   гараж



 4     9    потруев        слесарь        $ 1230.00

 4    12    гундосов       шофер          $ 2000.00

 В цехе гараж      2 человек,

 Средняя зарплата   1615 руб.00 коп



заполнена страница номер          3

нажмите ВВОД

Назад || Оглавление || Вперед

Последние комментарии:

Подписка на новости CITForum.ru

Новые публикации:

10 марта

  • HadoopDB: архитектурный гибрид технологий MapReduce и СУБД для аналитических рабочих нагрузок

  • Классификация OLAP-систем вида xOLAP

  • BGP. Три внешних канала. Балансировка исходящего и входящего трафиков

    Газета:

  • Что мы знаем об iPhone 4G?

    17 февраля

  • MapReduce и параллельные СУБД: друзья или враги?

  • Объектно-ориентированное программирование в ограничениях: новый подход на основе декларативных языков моделирования данных

  • Системологический подход к декомпозиции в объектно-ориентированном анализе и проектировании программного обеспечения

    Газета:

  • Эволюция Wine

    3 февраля

  • Дом на песке

  • Реальное переосмысление "формальных методов"

  • Интервью с Найджелом Пендзом

    Газета:

  • iPad. Первый взгляд на долгожданный планшет от Apple

  • Я не верю в iPad

    20 января

  • SQL/MapReduce: практический подход к поддержке самоописываемых, полиморфных и параллелизуемых функций, определяемых пользователями

  • Данные на лету: как технология потокового SQL помогает преодолеть кризис

    Обзоры журнала Computer:

    2 декабря

  • Сергей Кузнецов. Год эпохи перемен в технологии баз данных

    18 ноября

  • Генерация тестовых программ для подсистемы управления памятью микропроцессора

  • Сравнительный анализ современных технологий разработки тестов для моделей аппаратного обеспечения

    11 ноября

  • Генерация оптимизированных для ручного выполнения сценариев тестирования приложений с графическим интерфейсом пользователя

  • Применение технологии UniTESK для функционального тестирования инфаструктурного ПО Грид

    28 октября

  • Remoting с сервером на Unmanaged C++ или Вторая жизнь старых приложений

  • Методы обеспечения переносимости ПО

  • Организация сложных тестовых наборов

    22 октября

    Обзоры журнала Computer:

    14 октября

  • МОГучие способности: новые приемы анализа больших данных

  • Учимся регулярно выражаться

    8 октября

  • Записки исследователя NTFS

  • Создание кросс-платформенных графических интерфейсов на wxPerl

    Все публикации >>>


  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 6608306, ICQ 232284597 Пресс-релизы — pr@citforum.ru
    Послать комментарий
    Информация для авторов

    Редакция раздаёт котят!

    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2009 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...