Отчети с Microsoft Visual FoxPro

Отчетите във Microsoft Visual FoxPro се дефинират и получават от техните макети. Те се съхраняват във файлове с разширение FRX и се създават по няколко начина: от страницата Document на Project Manager чрез Report Wizard или чрез конструктори като Report и Quick Report и в командния прозорец. Отчетите се състоят от източник на данни, който могат да бъдат таблици, изгледи и запитвания, и оформление, което определя начина по който данните ще бъдат изведени.

Microsoft Visual FoxPro 10Изгледите и запитванияна могат да филтрират, подреждат и групират данни по най-различни начини в зависимост от това какво се изисква да бъде показано в отчета. Конструкторите Report и Quick Report се използват за бързо прототипиране на отчет; избира се бутона New… (от страницата Document на Project Manager) и от появилия се прозорец се избира New Report, докато при Report Wizard на няколко стъпки се избира таблица, източник на данни, ориентация на отчета (по колони или по редове), избор на полета и включване на надписи.

На стъпка 1 от падащия лист се избира нужната база данни и след това коя таблица управлява отчета и кои полета от нея трябва да се появят в него. Стъпка 2 позволява да се избере по какъв начин да бъдат групирани записите, като Microsoft Visual FoxPro автоматично се грижи за сортирането им като добавя списък в таблицата на основата на групирането, което потребителят е задал. На стъпка 3 се определя оформлението на отчета като FoxPro предоставя за това пет различни избора: Executive, Ledger, Presentation, Banded и Casual. Стъпка 4 предоставя три различни възможностти. Първата е избор на колони, втората е оформление на полетата(по колони или по редове) и третата е как да бъдет ориентиран отчета спрямо режима за отпечатване – портрет или пейзаж.

Стъпка 5 определя по какъв начин да бъдат подредени записите – по възходящ или по низходящ ред. На последната стъпка 6 се избира име на отчета, както и да се направи предварителен прегдет преди да бъде завършен.

Структура на отчет

След като отчетът е вече готов той може да се променя чрез дизайнера на отчети. За целта от от страницата Document на Project Manager се избира нужният отчет и се натиска бутона Modify…, който отваря дизайнера на отчети. Отчетът се състои от няколко различни части, наречени области, които съдържат надписи, полета,  ленти, променливи и изрази. Типовете области на отчета са: title, page header, column header, group header, detail, group footer, column footer, page footer и summary, като съдържанието на всяка от тях се извежда в определен момент при получаване на отчета.

Дизайнер на отчети

  • Title – заглавие, то се отпечатва само веднъж в началото на отчета, а ако той има няколко страници само на първата от тях. Може да се появява само то на страницата или да бъде непосресдствено последвано от други части на отчета. Обикновено се използва за име на отчета и за информация като дата и час.
  • Page header – заглавие на страница; появява се в началото на всяка страница и е задължителна част, въпреки че може да не се пише нищо вътре.
  • Column header – заглавие на колона; появява се най-отгоре на всяка група колони. Група колони може да съдържа няколко колони с данни за един запис, а някои отчети могат да съдържат няколко групи колони. Тази част се добавя автоматично, когато отчетът е определен да има няколко групи колони.
  • Group header – заглавие на група; появява се, когато има данните са групирани, за да посочи информация за тези групи. Показва се в началото на всяка нова група и може да се зададе да се появи отново, когато тази група премина на нова страница. Може да има няколко такива области в зависимост колко групи данни има в отчета.
  • Detail – детейлна лента; отпечатва се веднъж за всеки запис в таблицата, която управлява отчета. Контролите в тази част от отчета представляват „сърцето” на отчета.
  • Group footer – край на група; появява се, когато има групиране на данни и се появява след последната детайлна област на отделна група данни. За всяка група от данни в отчета се създава една такава област. Затова може да има няколко такива области в един отчет.
  • Column footer – край на колона; появява се в най-отдолу на всяка група колони. Добавя се автоматично, когато отчетът е определен да има няколко групи колони.
  • Page footer – край на страница; появява се най-отдолу на всяка страница и е задължителна част, въпреки че може да не се пише нищо вътре.
  • Summary – край на отчета; отпечатва се само веднъж след последната детайлна част.

Източници на данни

Data Environment е част от дизайнера на отчети, които установява източникът на данни, в която се описват таблиците, индексите и връзките, които са нужни за изпълнение на отчета. Може да се изведе чрез избиране от менюто View | Data Environment или с натискане на десния бутон на мишката върху неизползвана област в отчета. Състои се от две основни области: главния Data Environment прозорец и прозорец Свойства(Properties). В нов отчет този прозорец е празен и трябва да се добавят една или няколко таблици в бутона Add… от менюто Data Environment( което е активно само когато е отворен прозореца) или с натискане на десния бутон на мишката. От появилия се прозорец се избира база данни, ако има няколко отворени, както кои таблици да се отворят. За да се избере таблица, която принадлежи на база, която не е заредена, се избира бутона Other… и в появилия се прозорец се избира таблицата, която е нужна. В случайте когато са нужни няколко таблици, много често се налага да се сложат връзки между тях. За да се направи това се избира желаното поле от първата таблица и се влачи върху втората таблица, като се поставя върху съответния индекс в нея. За да се добави изглед се изира радио бутона View… от полето за избор Select. За да се изтрие таблица или изглед от процореца Data Environment се избира Remove с десния бутон на мишката върху нея или от менюто Data Environment | Remove. За да се изтие връзка, тя се избира в прозореца и се натиска бутона Delete на клавиатурата.

Прозорец Свойства може да се озползва за достъп до настройките, събитията и методите на главния прозорец, както и на таблиците, изгледите и връзките между тях. Повечето от опциите в този прозорец са еднакви навсякъде в Visual FoxPro, но има и такива които са по-специфични за отчетите.

За главния прозорец:

  • AfterCloseTables event: изпълнява се след като отчета е приключил изпълнението си и след като таблиците са затворени;
  • AutoCloseTables: определя дали дизайнера да затваря автоматично таблиците;
  • AutoOpenTables: определя дали дизайнера да отваря автоматично таблиците;
  • BeforeOpenTables event: изпълнява се преди да се отвори някоя таблица;
  • CloseTables: този метод затваря таблиците определени в Data Environment и се изпълнява автоматично ако AfterCloseTables има стойност истина(true);
  • InitialSelectedAlias: определя коя таблица ще бъде текуща, когато се зареди Data Environment;
  • OpenTables: този метод отваря таблиците определени в Data Environment и се изпълнява автоматично ако AutoOpenTables има стойност истина(true).

За таблиците и изгледите:

  • Alias: определя псевдоним, който се използва за връзка с тази таблица или изглед. По подразбиране е същото име като на таблицата или изгледа;
  • CursorSource: идентифицира името на това, което е избрано;
  • Database: идентифицира името на базата данни към която принадлежи таблицата или изгледа;
  • Filter: използва се за въвеждане на израз, който да приложи някакъв филтър към таблица или излед;
  • Name: като се добавят таблици и изгледи, те се наименоват Cursor1, Cursor2 и т.н.;
  • Order: определя индекс, който да постави на таблицата или изглед;
  • ReadOnly: определя дали могат да се правят промени в таблица или изглед.

За връзките:

  • ChildAlias: определя псевдоним на дъщерната таблица във връзката;
  • ChildOrder: определя индексиращ етикет на дъщерната таблица;
  • Name: като се добавят връзки, те се наименоват Relation1, Relation2 и т.н.;
  • ParentAlias: определя псевдоним на родителската таблица във връзката;
  • RelationalExpr: определя изразът, който се използва за свързване на родителската с дъщерната таблица.

Инстументи за получаване на отчети

За разполагане на контроли в областите на отчета се използват ленти с интрументи като:

Report Controls

Лентата с контроли Report Controls позволява да се добавят различни контроли в отчета – бутони за добавяне на надписи, полета, линии, правоъгълници и изображения. Всички те могат да се маркират, преместват, копират, преоразмеряват, групират, разгрупират, изтриват.

Select object (избор на обект) – този бутон не поставя обект в отчета. Вместо това той се използва за избиране на вече съществуващ, за да може той да бъде редактиран.

Label (етикет) – статичен текст, който е поставен в отчета. Обикновено се използват наименоване на име на отчета, заглавия на колони и особен текст като номер на страница. Съдържанието на етикета е постоянно и едно и също всеки път когато отчета се отпечата. За да се добави етикет се избира бутона Label и се поставя, след това се избира с мишката и се изписва текста, който трябва да се отпечата на отчета.

Field (поле) – се използват за отпечатване на данни в отчета и е най-силния от всички обекти. Съдържа израз, който се изпълнява всеки път, когато обекта се отпечатва. Например, когато е поставено поле в частта Детайли, изразът се изпълнява за всеки запис обработен от дизайнера на отчети. Когато е поставен в частта Page Footer, изразът се изпълнява само веднъж в края на всяка страница. При поставянето на такъв контрол в отчета се появява прозорец, в който се въвежда израз, който показва на дизайнера на отчети както да се отпечата в това поле. Това може да бъде всеки валиден за Visual FoxPro израз: може да бъде поле от тазблицата; може да бъде функция, а също така може да бъде и комбинация от двете. Когато се въвеждат по-дълги изрази е възможн да е необходимо повече място, за да се види целия израз. Тогава се използва прозореца Expression Builder чрез натискане на бутона вдясно на полето, в което се изпива израза.

Shapes (форми) – линии, обикновени правоъгълници, заоблени правоъгълници. Линиите могат да бъдат хоризонтални и вериткални. Обикновените правоъгълници могат да бъдат дълги и тесни, къси и широки и всякакви други комбинации. Заоблените правоъгълници, също както и обикновените такива, могат да са с различни големини с единствената разлика, че ъглите им са заоблени.

Picture/Active X Bound – този контрол се използва, за да се отпечатат изображения на отчета. След като се избере бутона, се щраква някъде върху формата, където трябва да се появи изображението и се появява един диалогов прозорец. В него може да се избере или изображение, което е самостоятелен файл или да те избере такова, което е съхранено като поле в някоя таблица. Валидни формати за изображения и графики са BMP, JPG и ICO файлове.

Button lock – този контрол позволява бързо да се добавят обекти от един и същи тип. Когато се избере този бутон се включва режим на заключване и ако се избере бутона Етикет могат да се добавят няколко етикета един след друг, колкото са необходими. За да се изключи този режим се избира отново бутона Button lock. Също така режимът на заключване може да се включва и изключва с двойно щракване с мишката върху който и да е от другите контроли в Report Controls.

Layout

Чрез лентата с инструменти Layout, контролите могат да се преоразмеряват и подравняват един спрямо друг, както и спрямо мрежата на самия отчет. Лентата може да се изведе по няколко начина. Първият е като се избере от менюто View | Layout Toolbar, втория – като се избере бутона Layout Toolbar от лентата с инструменти на дизайнера на отчети и третия – като се избере с десния бутон на мишката върху която и да е друга отворена лената с инструменти.

Подравняване (align) – има шест различни възможности да се подравнят обектите един спрям друг и две допълнителни възможности, които позволяват да се центрират в областите на отчета. Първата стъпка в подравняването на обекти е да се изберат всики, който трябва да се подравнят и след това да се избере една от възможностите:

  • Align Left Sides – тази възможност позиционира всички избрани обекти, така че техните леви страни да са на еднакво равнище. По подразбиране най-левия обект се използва за отправна точка за подравняване на всички останали.
  • Align Right Sides – тази възможност позиционира всички избрани обекти, така че техните десни страни да са на еднакво равнище. По подразбиране обектът, чиито край е най-вдясно служи за отправна точка за подравняването на останалите.
  • Align Top Edges – тази възможност позиционира всички избрани обекти, така че техните горни ръбове да са на еднакво равнище. По подразбиране обектът, чиито ръб се намира е най-горе служи за отправна точка за подравняването на останалите.
  • Align Bottom Edges – тази възможност позиционира всички избрани обекти, така че техните долни ръбове да са на еднакво равнище. По подразбиране обектът, чиито ръб се намира е най-долу служи за отправна точка за подравняването на останалите.
  • Align Vertical Centers – тази възможност позиционите всички избрани обекти с техните центрове напречно в една колона. За да определи къде се намират на отчета центровете на обектите, дизайнерът на отчети гледа най-левия край на избраните обекти и след това най-десния им край. Използва средата на тези две точки като позиция на колоната за центрирането им.
  • Align Horizontal Centers – тази възможност позиционите всички избрани обекти с техните центрове надлъжно в един ред. За да определи къде се намират на отчета центровете на обектите, дизайнера на отчети гледа най-горния край на избраните обекти и след това най-долния им край. Използва средата на тези две точки като позиция на реда за центрирането им.
  • Same Width – тази възможност променя широчината на всички избрани обекти в съответствие с най-широкия от тях.
  • Same Height – тази възможност променя височината на всички избрани обекти в съответствие с най-високия от тях.
  • Same Size – тази възможност изпълнява Same Width и Same Height върху всички избрани обекти едновременно.
  • Center Vertically – тази възможност позиционира избрания обект, така че той е на еднакво разстояние от горния и долния край на областта, в която се намира. Ако са избрани няколко обекта, те се третират като едно цяло – разтоянието помежду им се запазва едно и също.
  • Center Horizontally – тази възможност позиционира избрания обект, така че той е на еднакво разстояние от левия и десния край на областта, в която се намира. Отново ако са избрани няколко обекта, те се третират като едно цяло.
  • Bring To Front – когато има няколко обекта, които са един върху друг, този, който е отгоре може да скрива чатично или изцяло долния. Тази възможност позволява да се покаже обекта, който е нужен най-отгорв върху всички останали.
  • Send To Back – тази възможност е обратна на Bring To Front и скрива избрания обект най-отдолу под всички останали.

Color Palette

Чрез палитрата от цветове може много лесно да се променят предния план и фона на обектите. Тя може да бъде изведена по няколко начина. Първият е като се избере от менюто View | Color Palette, втория – като се избере бутона Color Palette Toolbar от лентата с инструменти на дизайнера на отчети и третия – като се избере с десния бутон на мишката върху която и да е друга отворена лената с инструменти.

Научаването да се работи с тази лента е някак си объркващо за много разработчици. Първите два бутона, Цвят на предния план(Foreground Color) и Цвят на фона(Background Color) използват, за да се включват съответно режим преден план и фон. Когато някой от режимите е активен, асоциирания с него бутон потъва. Следващите 16 бутона се използват, за да се избере определен цвят. Последния бутон Друг цвят(Other Color) извиква един диалогов прозорец от който може да се нарави цвят различен от предишните 16. За да се промени предния план на обект трябва:

  1. ако бутона Foreground Color не е потънал да се натисне;
  2. ако бутонът Background Color е избран, да се натисне така че да не е активен;
  3. да се избере обект, който трябва да се промени;
  4. да се избере един от 16-те цвята от процореца Color Palette.

За да се промени фонът на някой обект трябва:

  1. ако бутона Background Color не е потънал да се натисне;
  2. ако бутонът Foreground Color е избран, да се натисне така че да не е активен;
  3. да се избере обект, който трябва да се промени;
  4. да се избере един от 16-те цвята от процореца Color Palette.

Наистина е доста просто, когато се свикне. Това, което е малко объркващо, е че повечето разваботчини се опитват първо да изберат обект и цвят и след това да селектират единия от двата бутона за режим, което е напълно обратно на това, което трябва да се направи в действителност. Могат също да се изберат и едновременно двата режима, да се избере обект и да се променят цветовете и на предния план и на фона едновременно. Човек би си помислил, че това е глупаво, защото и предния план и фона са еднакви няма как да се види текста. Това е така, но за текст, но не и за правоъгълници. Цветът на предния план на правоъгълник се използва да се очертае линия отвън на правоъгълника. Цветът на фона се използва да се запълни правоъгълника. Така че когато не се иска да има рамка около правоъгълника, може да не направи, така че цветът на предния план да е същия като този на фона.

Веднъж, когато вече отчетът е създаден той може много лесно да бъде изпълнен, като отново има няколко начина това да се изпълни. Първите два са и най-лесните:

  • от главното меню на Visual FoxPro се избира командата – Report / Run Report;
  • избира се бутона Run Report от лентата с инструменти над дизайнера на отчети или се натиска клавишната комбинация Ctrl+E.

Третия начин да се стартира отчет е да се въведе в командния процорец командата REPORT FORM последвана от името на отчета, който трябва да се изпълни. Може да се използва и въпростиелнен знак (?), за да се укаже, че не се знае точното име на отчета, така че тогава FoxPro ще изведе един диалогов прозорец, в който може да се намери нужния отчет. Ако трябва да се предлева как би излеждал очтета, се избира с десния бутон в дизайнера на отчети командата PREVIEW или се въвежда тази команда след името на отчета в командния прозорец – REPORT FORM име-на-отчета PREVIEW. В резултат отчетът се появява в нов прозорец, който може да се минимизивра, максимиира, преоразмерява и мести както всеки друг прозорец.

Командите Run Report ще изведат един нов диалогов прозорец от който се избират допълнителни настройки относно разпечатването на отчета. Трябва да се има предвид, че отчетите ще бъдат форматирани според принтера, който е на разположение в момента на разпечатване. Ако за същите отчети по-късно се използва друг принтер, част от подравняването и отстъпите може да ги няма. Но като цяло Visual FoxPro се грижи за решаването на тези разлики, ако пронтерите които се използват са относително стандартни и не се различават много.

Сходни статии:

  1. Ленти за състоянието във Visual Basic Лентите за състояние, реализирани във Visual Basic посредством контрола StatusBar, обикновенно се разполагат в долната част на прозореца и осигуряват информация за текущото състояние на приложението. Те дават на приложенията...
  2. Вмъкване на таблици, снимки и символи в Microsoft Word Автор: maricg ученичка на 13 години в ЧСОУ “Рьорих”, София Отиваме на Table → Insert → Table От Numbers of Columns избирате колко колони да има, а от Number of...
  3. Microsoft Remote Desktop Connection Microsoft Remote Desktop Connection е проектиран софтуер за Windows XP и напълно съоръжен с инструменти за отдалечена манипулация. Неговата задача е да свързва компютъра на който се работи в момента...
  4. Релизация на херметизацията в MS Visual C++ Цели на херметизацията да скрие подробностите на реализацията (абстракция) да обедини всички необходими физически и функционални характеристики, за да може обектът правилно да изпълнява предназначението си, т. е. да съвместява...
  5. Основни текстови елементи в документите в Microsoft Office Word Основни текстови елементи в документите в Microsoft Office Word са всички свързани помежду си символи или последователности от символи. Връзката е определена от управляващи символи и точно поради това програмата...

Студио за уеб дизайн услуги, изработка на сайтове, SEO оптимизация и Интернет реклама Seven Web Design представя своите професионални уеб дизайн умения на високо ниво. Seven Web Design е продукт на Уеб Дизайн България Груп ООД ®
Comments are closed.