|
| К! |
Pirce |
|
Ve»3* |
|
| ш |
| zi |
iviitafcle I'xMta пЗсьi iae |
ИФ 1 |
T.'A3jv i < fienwe | (* A^eodna TWO,* |
I elected ileUe |
OjrKri | < gark j |
ДёИ > |
Рис. 13.24. Задание сортировки строк внутри групп строк.
В появившейся на экране.аналоговой панели Save As укажите место хранения файла отчета и укажите имя файла отчета.
П р и м е р 2. Создать отчет по данным из нескольких таблиц с помошью Мастера отчетов.
Создадим отчет по данным таблицы CATALOG (дочерняя) и таблицы FAM (родительская), между которыми ранее устаноаче- на взаимосвязь «один-ко-многим».
Откройте базу данных BOOK и запустите Мастер отчетов (см. пример 1), выделив курсором строку Опе-to-Many Report Wizard в диалоговой панели Wizard Selection.
На первом шаге Мастера отчетов в списке Databases and Tables укажите имя родительской таблицы FAM. Из списка Available fields перенесите поле Namefam в список Selected fields (подробнее см. пример 1). Нажмите кнопку Next.
На втором шаге Мастера отчетов в списке Databases and Tables укажите имя дочерней таблицы CATALOG. Из списка Available fields перенесите поля Namebook, Year, Volume, Price и «Visage» в список Selected fields (подробнее см. пример 1). Нажмите кнопку Next.
На третьем шаге проверьте правильность >стаповленной взаимосвязи между таблицами FAM (родительская) и CATALOG (дочерняя) по ключу Key fam. Нажмите кнопку Next.
На четвертом шаге Мастера отчетов определите сортировку записей отчета по полю Name_fam (подробнее см. пример 1). Нажмите кнопку Next.
На пятом шаге Мастера отчетов задайте стиль исполнения отчета (подробнее см. пример 1).
На шестом шаге сохраните созданный отчет (подробнее см. пример 1).
ПримерЗ. Создать отчет по данным из нескольких таблиц с помощью Конструктора отчетов.
Oi кройте нужную базу данных и выведите па экран диалоговую панель Database Designer. Из меню
А1 I Data j Documwits
выберите команду Data и на строке имени базы данных Book дважды щелкните левой кнопкой мыши.
AT able «Vie» ’ yirr.r |
0*4Етчомс*) -ВорейОаогкч ПермН
ЙГвИс I Uy.lwi IWMjlT
I |
Olndt'ti гшт
IM
key Ьо^
kjyjen
WTik*
I neme_rt UJntbci
пгэгсгс |
ГгИЬ |
17 ПЫ
Г? Р £ddtri* to daa «rwyimxi |
Рис. 13.26. Определение расположения полей на листе отчета
Запустите Конструктор отчетов с помощью команды главного меню File -> New, выберите опцию Report и нажмите кнопку New File.
Определите таблицы, по значениям полей которых надо построить отчет. Для этого из главного меню подайте команду View -> Data Environment. Затем правой кнопкой мыши выведите на экран контекстное меню и подайте команду'Add. Вдиалого- вой панели Add Tabic or View поочередно выделяя нужные таблицы, нажатием кнопки Add поместите их на рабочее поле диалоговой панели Data Environment (рис. 13.25). По окончании выбора таблиц нажмите кнопку Close.
Закройте диалоговую панель Data Environment. Задайте среду окружения, выбрав из главного меню команду' Report -» Quick Report. В диалоговой панели Quick Report определите расположение полей по строкам (левая пиктограмма). Включите все три флажка (рис. 13.26).
Нажмите кнопку Fields и определите значения каких полей надо поместить в отчет. В раскрывающемся списке From tabic выберите имя нужной таблицы, а из списка All fields перенесите имена нужный полей в список Selected fields по правилам, описанным в примере 1 настоящей главы. Поочередно определяя разные таблицы, поместите в список Selected fields все нужные поля (рис. 13.27):
• из таблицы FAM — поле Namc_fam;
• из таблицы CATALOG — поля Name_book, Year, Price, Volume, Visage.
Шщтышшит |
|
OK j | Слоев) j |
V Field Picker |
____ /'Я_ jetdtr |
SgHrttnHitMs Femname.fam Catalog name_book Catalog year Catalog.'volume Catalog piice Catalog visage |
J key_f«m key_im Як«У_с< |
Рис. 13.27. Определение полей, значения которых будут помещены в отчет.
В диалоговых панелях Field Picker и Quick Report нажмите кнопку Ok.
После выполнения описанных выше действий макет отчета будет выглядеть следующим образом (рис. 13.28).
Добавим в созданный маке г полосу заголовка отчета и полосу итогов. Для этою надо из главного меню подать команду Report -» Title/Summarv и в появившейся на экране диалоговой панели Title/Summary включить флажки Title band и Summary band (рис. 13.29).
Тс Report Ocngnci - Deport! |
| RBBI |
. | 'Ш, 'ms шя dN | .г. и ь ** а |
I |
|n«c bock ~ | |те^7^|рг1се_ froljj [ri:»nge__Zl [поде сока___)
::$*ЯВ |
ж г-едеёоом
(Trtle/Sumneiy |
|
ftejxdUJe | OK I |
Р littebsnd | Сэпсе* j |
Г Hww ряде | |
Report suTifrtay |
|
PjjSiXimcry bjrxt |
|
Г~ &УЭ* |
|
|
|
Рис. 13.29. Добавление в отчет дополнительных полос. |
Если на экране отсутствует панель инструментов, то для вызова ее на экран надо из главного меню подать команду View -> Toolbars и в появившейся на экране диалоговой панели Toolbars включить флажок Report Designer.
Для определения заголовка отчета из панели инструментов выберите компонент Label, разместите его в полосе заголовка и введите текст «Каталог книг». Текст «Каталог книг» будет написан шрифтом, заданным по умолчанию. Для изменения шрифта сделайте объект «Каталог книг» активным, то есть щелкните на нем мышью. Активный объект выделяется на экране угловыми маркерами. Для задания шрифта выделенному объекту надо из главного меню подать команду Formal -» Font, а далее по известным правилам. Изменить размеры и положение объекта внутри полосы можно с помощью буксировки.
Для помещения в отчет вычисляемых полей надо выполнить следующее.
Создать объект поле. Из панели инструментов выбрать компонент Field и установить его внутри любой полосы. Например, фамилию, имя и отчество автора поместим в одно поле отчета. В полосе «Detail» сдвинем все объекты полей вправо. Разместим компонент Field в левой части полосе Detail. В появившейся на экране диалоговой панели Report Expression в поле ввода Expression заладим выражение для сцепления полей Namefam, Nameim и
Name_ot, воспользовавшись кнопкой ■. В раскрывающемся списке String выделим курсором имя функции ALLTRIM и и двойным щелчком мыши поместим ее в поле ввода Expression.
' Expiet ion Duitder ExtrtCMxxtlui Fold cn Report Рис. 13.30. Задание вычисляемого поля. |
В качестве аргумента функции ALLTRIM зададим имя поля Namefam, которое выбираем из списка Fields аналогичным способом. Знак «+» вводим с клавиатуры. По окончании составления выражения надо нажать кнопку Ok (рис. 13.30).
R«poi1 Oettgrtei Перш 14
Г |
I |
t Ы IT. n к».. •» -it
Каталог книг
И.О. с» тор a Hat book |
Теш Price Volta Vlea«e Ж*
1 Геи, ptag feet 1».?.мв^ Inaio^booK |
ШЯИШШШU
tfHi
TE(J_ |
tr-
■ Ш 1
Л. PoecfertM
Нерон Designer - Hepat4 • F |
|
| И?» Е3| | |
| Каталог книг |
|
|
|
ttuun Я.О. «море | Иеаиг_ЬооК | Year | Price | VolAO |
Гоголь Николай Васильевич | Ревизор. Нертвие дули. | 1.CD | "I H | |
Путалин Александр Сергеевич | Избранное | 1.С2 | sV- | |
Короленко Влаликю | Повести и рзссхазк. | l.CC | M - | |
Аксенов Сергей Тжофеевхч | Избралвое | 1.15 |
See |
Рис. 13.32. Отчет «Каталог книг». |
Аналогично в полосе Title сдвинем все объекты заголовков столбцов. Разместим новый компонент Label и зададим заголовок для вычисляемого поля — «Фамилия И. О. автора». При необходимости можно изменить шрифт заголовка.
После выполнения описанных действий макет отчета будет выглядеть как на рис. 13.31).
Как видно из макета отчета, имена столбцов отчета (колонок) могут быть написаны буквами русского алфавита.
Перед сохранением отчета на диске, его можно просмотреть на экране. Для этого надо, находясь на диалоговой панели Report Designer, правой кнопкой мыши вывести на экран контекстное меню и выбрать команду Preview (рис. 13.32).
Внешний вид созданного отчета полностью зависит от установленных взаимосвязей между таблицами (см. рис. 13.25).
При закрытии диалоговой панели Report Designer на экран выводится сообщение о необходимости сохранить созданный отчет. После нажатия кнопки Yes в появившейся на экране диалоговой панели Save As надо указать место хранения файла отчета и задать имя файла отчета.
П р н м е р 4. Создать многоколонный отчет по данным из нескольких таблиц.
В FI С |
Data Errritormont ■ Hoped Dot tones ■ RopoilG |
О -eId» ~ key.lown ' J n«me_tovm M е«4_1олп ODndenet: |
к key_<xtt key_t3»s>i key. street rdi< nefr* ct odiss au»t U2n key.fasr СЭ exes |
“■ ie*±s: k«y_stie»t name.itrei otuug d) r<fene «tool |
Kiwi |
Г'--------------------------------- П | |
3r»cldf________ | Л I 1 — |
name_fem | J |
C&ntoces |
|
rvame |
|
fan |
|
| |
iH tekJt | -4 |
II И.т |
|
1 nan> im // | |
| Iflb'XJexer |
|
j! Im |
|
■I j name | -J |
O'nldt | d |
key.ol |
|
IMroe.Ot |
|
(Bndexos | §j |
7 d |
|
палю |
|
■ ■ |
Рис. 13.33. Определение таблиц, по данным которых будет построен отчет.
Предположим, что постоянным покупателям фирмы надо разослать новый каталог книг. Посгупим аналогично предыдущему' примеру. Многоколонный отчет будем строить по данным трех таблиц (рис. 13.33).
■•ЛИП ИНДИИ—*» к.. I»; gwffifcl и ШМИД
-L р:р...
л.
т |
ж
ndex |
icdex_
=L
toiTTi «пав» tovn_
■dees cust. ПЛЙЖ cust. |
street r.sn* street.
Мге«_ош1 oast
jl. D«4arf
“ (datbj >
a V'sgtfmUt
IvOMJ' I патв_сиЛ_ |
. Рад» Не [ КуДаТ" Inde^^TZccm^^Iai пе town_ яатв street | |дАу1 сил___ | |
Црапл >_j Я |
mmm |
/1 /./. 777/Л Гif сип, natne Jam}— " "+ A /. |
■к. Рад»?rit«
Рис. 13.35. Уточненный макет многоколонного отчета
Размещение нолей на листе отчета надо задать по столбцам (рис. 13.26 правая кнопка мыши). Начальный вид макета отчета приведен на рис. 13.34.
Выделяя каждый объект-поле, отбуксировать его в нужное место отчета и задать нужный тип и стиль шрифта. Оставим на листе отчета только нужные заголовки полей, написай их буквами
;; Р«уе Setup |
Pi<>9 ItgctA |
Pmt«ea............................. Г7 Pro(»b«l<*/> Г WTobpaoe |
. |»гч. Lbftirv**! j icoa^j Dcrxsr&ioox Ccrbfoeto*». |
J MurtJ \2 ^?, , ---------------------- с«х<» ! v/K»b 1.163+: ч 5lvr r>j I uQu |
ЕЗ
Куда: mill Россия Абакам
Куда: 117092 Россия АЬлар Аксакова ул д. 3-А |
АаякпаяоЛсков 7-4 д. 12/3
Кому: ООО "МихроЫы * ToJWKOurxutl Огдаиом |
Кому: Александр
Коржаяим Нави Игоревич
Куда: ЗЩ734 Россия Таганрог
Абрикосоаский ncp. д. 2 коря.4
KoMV '.АО "Русскийляс’
Дроздов Владимир Еорисович
КуДЯ t 456231 Россия Моасаа
Автомоторная ул 6.1 стр.З
Кому: ЗА О "Скопа"
Некрасов Николай Александрович
Куда: 191234 Россия Можайск |
КУДЯ: 101111 Россия Александров
Рис. 13.37. Фрагмент многоколонного отчета
русского алфавита. Добавим вычисляемое поле и разделительные линии. Уточненный макет отчет приведен на рис. 13.35.
Для задания печати па одном листе нескольких почтовых этикеток надо из главного меню подать команду File -> Page Setup и задать свойства в соответствии с рис. 13.36.
Далее выполним предварительный просмотр и сохранение на диске созданного многоколонного отчета. Результат работы представлен на рис. 13.37.
13.6. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое отчет?
2. Какие виды отчетов можно создавать в среде Visual FoxPro?
3. Какие способы создания отчетов имеются в среде Visual FoxPro?
4. Назовите преимущества и недостатки использования Мастера отчетов.
5. Назовите преимущества и недостатки Конструктора отчетов.
6. Расскажите как создать вычисляемое поле в отчете.
7. Как изменить начертание шрифта в отчете?
8. Что называют объектом при создании отчета?
9. Как объект сделать активным (пассивным)?
10. Как вывести на экран панель инструментов?
11. Что называют окружением при создании отчета?
12. В каких случаях окружение задается автоматически?
13. Какие действия можно выполнить над активным (пассивный) объектом?
14. Назовите имена и назначение основных полос при создании отчета.
15. Назовите имена и назначение дополнительных паюс отчета.
16. Как задать дополнительные полосы при создании отчета?
17. Как задать таблицы, но данным которых будет построен отчет?
18. Как запустить Мастер отчетов?
19. Как запустить Конструктор отчетов?
20. Как задать несколько колонок при создании многоколонного отчета?
21. Как задать вычисление промежуточных итогов н Мастере отчетов?
22. Как задать вычисление промежуточных итогов в Конструкторе отчетов?
23. Как задать группировку данных в Конструкторе отчетов?
24. Как вызывается на экран контекстное меню при работе с различными диалоговыми окнами?
25. Назовите отличия при задании заголовка отчета при работе с Мастером и Конструктором отчетов.
ПРИЛОЖЕНИЕ
Компакт-диск содержит примеры к главам учебника. В каталоге GL-Ои хранятся примеры главы и. Каждый файл каталога имеет название Ехтр_0А_0/я, который означает, что это пример номер т главы к.
Литература
1. Лгалъиов В. II. Примерная программа диспнп.1>шы. «Базы шны - М.. Издательский отп'л llVlllCnO. 1998,16с.
2. Каратыгин С, Тихонов А, Тихонова Л. Visual FoxPro 6.0. Полное руководство пользователя с ирииершнн. М.. Бином. 2000. ~В4с.
3. НэМок Р., Петерсен Д., ТалмейОж. Vn ч1 FoxPro 6. Pajpaftor а корпоративных лрюижемй. М., ДМ К, 2000,392 с.
4. Ьаш I V., Использование Visual FoxPro 6 ГПо БХВ — Петербург, 2000.928 с.
5. Горев А, Ахали Р., Мскашарипов С Эффективная работа с СУБД СПб.. Питер, 1997,704с.
6. ОмевьченкоЛ. Самоучитель Visual FoxPro 6.0 СПб, БХВ— Петербург, 2000,512 с.
7. Каратыгин С., Тихонов А., Тихонова Л. Работа в Visual FoxPro к примерах. Vi., Бином. 1995,312с.
8. С" _№ Ч. Visual FoxPro для профессионалов. М., ЭНТ1 ОН, Киев, ВЕК+, 1999,
576 с.
9. Гончаров A FoxPro па примерах СПб.. Питер, 1995,160с.
10. Смирнов А А Разработка прикладного программного обеспечения в среде FoxPro for WINDOWS Учсбис; пособие М., Моск. Гос. Уи-тэкономики, статистики н информатики. 1997,93 с.
11. Кузьменко В. Г Системы управления Г зами данвп. Учебное пособие. VI.. Изд во VI И. 1977.73 с.
12. ПсповА А Программирование в среде СУБД FoxPro 2.0 М., Радио и связь. 1994, 352 с.
13. Диго С. Л/. П юектировани н кснслыование баз данных. М.- Финансы и сытпсгакь, 1995.
Учебно* t* Or "Ur
Ага.шюв Виктор Петрович
БАЗЫ ДАННЫХ
Злв. редакцией Т. Г. Хохлова. Ведущий редактор АЛ А Никитина.
Главный художник В. /Л Григорьев. Художник П. Инфантэ. Корректор Г. И. Кштина. Оригинал-макет подготовлен £. В. Денюковой.
Подине шо в печать 14 06 2002. Формат 60x88 1/16. Булата офсетная К«I. Лечат офсетная Гарнитура Newton ' Печ л 23.5. Уел леч. я. 23.03. Уч.-изд. я..892. Изд №69828. Тираж 3000 экч Заказ 3664
Издагс юствоиМнр»
Министерства РФ по делам печати, телерадиовещания и средств массовых коммуникаций. 107996. ПСП-6, Москва. 1-й Рижский пер.. 2
Диапгспттивы изготовлены в издательстве «МИР»
Отпечатано с готовых диапозитивов в ФГУП «Производственно-издательский комбинат ВИНИТИ»,
140010, г, 1юберцы Московской обл.. Октябрьский пр-т. 403. Тс- 554-21-86
* Описание LIGHTBAR-меню
0 11,10 PROMPT 'С начала'
0 12,10 PROMPT 0 13,10 PROMPT 0 14,10 PROMPT MENU TO OTV
* Обработчик выбора пользователя из DO CASE
CASE OTV=l GO TOP
* Описание п дчикенного меню для пункта File
* горизонтального меню.
* Пунктами подчиненного меню заданы имена файлов из
* каталога FOX_jAUTO
DEFINE POPUP Fie PROMPT FILES LIKE;
E:\PRIMER,*.dbf
• добавление области,
• перемещение области,
• удаление области.
Процесс создания табличного отчета состоит из следующих этапов:
• определение окружения;
• размещение текста;
• размещение полей;
• размещение линий, прямоугольников и рисунков;
• перемещение объектов;
• сохранение отчета.
• Для подсчета общего количества листов в одном экземпляре всех изданий на пересечении строк Volume и Sum щелчком мыши установите «итичку».
• Для подсчета средней цены одного экземпляра книги установите «птичку» на пересечении строк Price и Avg.
[1] строки
FOR i=l TO 15
*
? inmm<i#l), mmm(i,2) ENDFOR
[2] Открываем базу данных PRIMER, подав из главного меню команду File -» Open, на диске открываем каталог PRIMER, выделяем курсором имя файла Primer.pjx и нажимаем кнопку Ок.
• Запустим Мастер отчетов, выполнив следующие действия: из главного меню подаем команду File -> New и в появившейся на экране диалоговой панели New выбираем кнопку' Report из радиогруппы File Туре. Затем нажимаем кнопку Wizard. В появившейся на экране диалоговой панели Wizard Selection курсором выделяем строку Report Wizard и нажимаем кнопку Ок.
На первом шагс Мастера отчетов надо выполнить следующие действия.
• Проверить, что в раскрывающемся списке Databases and Tables утсазано имя базы данных BOOK. Если в раскрывающемся списке указано имя другой базы данных, то откройте список и укажите имя базы данных BOOK.
Рис. 13.22. Определение таблицы и задание полей для отчета.
• В расположенном ниже раскрывающегося списка Databases and Tables окне выделите курсором имя таблицы CATALOG. При этом в списке Available fields будут указаны имена полей. содержащихся в таблице CATALOG.
• По очереди выделите курсором имена полей: Namebook, Year, Volume, Price, Visage и с помощью кнопки «стрелка вправо» перенесите, по очереди, указаные поля в список Selected Fields (рис. 13.22). Нажмите кнопку Next.
На втором шаге Мастера отчетов задайте группировку записей по значениям поля Year. Для этого курсором выделите строку Year. Для задания расчета итоговых значений нажмите кнопку Summary Options и в появившейся на экране диалоговой панели Summary Options выполните следующие действия.
Дата добавления: 2015-09-29; просмотров: 20 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |