Список макросів - Life-Prog
Список макросівдозволяє підвищувати функціональність під час роботи з формами користувача.
- Назва– містить ім'я (ідентифікатор) компонента, яким здійснюється звернення до цього компоненту;
-Список макросів– використовується для викликуРедактора макросів форми. За допомогоюРедактора макросівможна виконати таке:
- Перейменуватиназву макросу;
УРедакторі,при натисканні кнопкиДодати, автоматично додається макрос під назвою “Макрос_формы1”. Для даного макросуІнспекторі об'єктів необхідно вибратитип макросу. Тип макросу визначає виконання певних дій:
- виклик форми геокодування;
- Зберегти НД у файл;
- нанести точкові об'єкти;
- збереження запиту до тимчасової таблиці;
- формування параметризованого запиту;
- побудова ізоліній за точковими об'єктами;
- розрахунок по карті;
- Створити параметризований фільтр.
Кожен тип макросу має як мінімум дві властивості:
- Назва- містить ім'я (ідентифікатор) макросу, яким здійснюється звернення до цього макросу;
- Тип макросу -визначає тип виконуваних дій.
МакросВиклик форми геокодування має властивості:
- Набір даних- визначає посилання на ім'я компонентаТаблиця(абоЗапит), забезпечує зв'язок з конкретним набором інформації з БД.
МакросЗвіт для НД має властивості:
- Ім'я файла-шаблону –ім'я файлу шаблону, створеного та налаштованого заздалегідь у Microsoft Office.
Створення звітів здійснюється засобами Microsoft Office (для шаблонів із розширенням XLT – MS Excel, зрозширенням DOT - MS Word).
Шаблон документаскладається з описової частини, яка автоматично не редагується, і полів даних (ключових полів), які в процесі створення звіту замінюються на відповідні значення з таблиці. Поля даних є імена полів таблиці як набору великих букв , укладених між символами “#”. Наприклад, NUMBER – ім'я поля таблиці , # NUMBER # – ім'я поля даних у шаблоні.
Тип звіту- вказує тип створюваного звіту і може набувати значень: Excel - звіт для всіх записів (за замовчуванням), Excel - звіт для поточного запису, Word - звіт для поточного запису, за типом шаблону.
Звіти можуть бути табличними та формою.
Табличнийзвіт може створюватися тільки на основі шаблону MS Excel і містить дані у вигляді таблиці. У першому рядку шаблону звіту, де необхідно розпочати друк даних у вигляді таблиці, повинні бути перераховані імена полів даних. Як приклад, подається табличний звіт на основі шаблону з ім'ям ExExcel.xlt.
Звіт формоюявляє собою документ, в якому імена полів даних задаються в будь-якому обраному користувачем місці, причому вони можуть повторюватися.Звіт формоюстворюється на основі шаблону MS Word або MS Excel. Як приклад надається табличний звіт на основі шаблону з ім'ям ExWord.xlt.
Набір даних- визначає посилання на ім'я компонентаТаблиця(абоЗапит), забезпечує зв'язок з конкретним набором інформації з БД;
МакросЗапустити програмумає властивості:
Ім'я програми– вказується ім'я файлу з розширенням *.exe, яке вибирається за допомогою стандартного діалогу вибору файлу;
МакросВідкрити картумає властивості:
Набір даних- визначає посилання на ім'я компонентаТаблиця(абоЗапит), забезпечує зв'язок з конкретним набором інформації з БД;
Поле з ім'ям картки, Поле з координатою X, Поле з координатою Y – містять імена відповідних полів.
Система координат- вказує систему координат і може набувати значень : метри, градуси, радіани.
МакросЗберегти НД у файлмає властивості :
Набір даних- визначає посилання на ім'я компонентаТаблиця(абоЗапит), забезпечує зв'язок з конкретним набором інформації з БД.
МакросНанести точкові об'єктимає властивості:
Набір даних- визначає посилання на ім'я компонентаТаблиця(абоЗапит), забезпечує зв'язок з конкретним набором інформації з БД;
Поле з ім'ям карти, поле з координатою X, поле з координатою Y, поле з координатою H – містять імена відповідних полів таблиці.
Система координат- вказує систему координат і може набувати значень : метри, градуси, радіани.
Встановлювати зв'язок- встановлювати чи ні зв'язок створюваного об'єкта з відповідним записом таблиці бази даних. Встановлений зв'язок при подальшій роботі з базою дозволяє знайти по запису в таблиці відповідний об'єкт або, навпаки, по об'єкту знайти запис.
МакросСтворити фільтрмає властивості:
Набір даних- визначає посилання на ім'я компонентаТаблиця(абоЗапит), забезпечує зв'язок з конкретним набором інформації з БД;
МакросСтворити запитмає властивості:
SQL – запит- визначає посилання на ім'я компонентаЗапит, що забезпечує зв'язок з конкретнимнабором інформації із БД;
МакросЗберегти запитмає властивості:
Тимчасова таблиця - визначає посилання з ім'ям компонента типу Зберегти запит, виконання якого і здійснює цей макрос ;
МакросСтворити параметризований запитмає властивості:
Параметризований запит- визначає посилання на ім'я компонента типуПараметризований запит, що забезпечує формування параметрів запиту;
Автоматичне виконання- визначає, чи потрібно вивести форму редагування отриманого тексту запиту (значенняНі) або виконати запит автоматично (значенняТак).
МакросПобудова ізолініймає властивості:
Набір даних- визначає посилання на ім'я компонентаТаблиця(абоЗапит), забезпечує зв'язок з конкретним набором інформації з БД. Для цього набору даних буде викликано функцію побудови ізоліній.
Для виконання макросу на форму разом з компонентомСписок макросівнеобхідно помістити компонентКнопкаі для його властивостіМакросвибрати потрібний зі списку.
МакросУвімкнути/Вимкнути фільтраціюмає властивості:
Набір даних- визначає посилання на ім'я компонента доступу до даних (Таблиця,Запит,Параметризований запит), забезпечує зв'язок з конкретним набором інформації з БД.
Встановити фільтрацію– при виборі значенняТакздійснюється фільтраціюНабору даних,значенняНі– скидає фільтр.
МакросВідкрити данімає властивості:
Набір даних- визначає посилання на ім'я компонента доступу до даних (Таблиця,Запит,Параметризований запит), забезпечує зв'язок з конкретнимнабором інформації із БД.
МакросЗакрити данімає властивості:
Набір даних- визначає посилання на ім'я компонента доступу до даних (Таблиця,Запит,Параметризований запит), забезпечує зв'язок з конкретним набором інформації з БД.
МакросРозрахунок за картоюмає властивості:
Набір даних- визначає посилання на ім'я компонента доступу до данихТаблиця. Для таблиці даних має бути встановлений зв'язок із карткою.
Поле для запису результату– виберіть поле зі списку полів набору даних. У цьому полі буде записано результат розрахункової функції. Тип вибраного поля повинен відповідати типу розрахункової функції. Наприклад, результати розрахункових функційПлощаіДовжиназаписуються в поля типу String або Double,Класифікаційний кодтаНомер об'єкта- у поля типу String або Integer,Назва- у полі типу String.
Тип розрахункової функції- вказується тип розрахункової функції, що може приймати наступні значення: довжина, класифікаційний код, назва, номер об'єкта, площа.
МакросСтворити параметризований фільтрмає властивості:
Автоматичне виконання– визначає чи потрібно вивести форму редагування отриманого тексту фільтра (значенняНі) або встановити фільтр автоматично (значенняТак).
Набір даних- визначає посилання на ім'я компонента доступу до даних (Таблиця,Запит,Параметризований запит), забезпечує зв'язок з конкретним набором інформації з БД.
Налаштування фільтра- містить текст фільтра. При використанніПараметризованого фільтранабір даних обмежується записами, що задовольняють фільтру, що задає умови відбору записів. ДляФормування фільтра використовуєтьсяРедактор фільтра,який викликається через поле значення даної властивості.
ВікноРедактора(рисунок 26 поділено на чотири частини:
- Список полів набору даних;
- Список імен компонентів для введення значень;
- Список імен компонентів для вибору логічних операторів.
При наведенні на кожну частинуРедакторапокажчика «миші» відображається підказка про його призначення.

Вираз фільтра є конструкцією, до складу якої можуть входити такі елементи:
- імена полів таблиць;
Імена компонентів для введення значень;
Імена компонентів для вибору операторів.
Якщо ім'я поля містить українські літери, його укладають у квадратні дужки.
Літерал є значення, задане явно (наприклад, число, рядок або символ).
Якщо значення має числовий тип, то ім'я компонентаВведення значенняполягає у символи $ (наприклад,$Введення_значення$).
Якщо значення має символьний тип, то ім'я компонентаВведення значенняполягає у символи $ та апостроф (наприклад,$'Введення_значення2'$).
Як логічні операції можна використовувати AND, OR, NOT, або вказати ім'я компонента для вибору логічних операторів. Причому ім'я компонента для вибору логічних операторів має бути поміщено у символи # (наприклад,#Вибір_оператора1#).
У тексті фільтра ім'я поля та операції порівняння мають бути розділені пробілом.
Як приклади завдання умов фільтрації таблиці POINTGEO.dbf наведено такі вирази:
[SEM9] = 'Бензоколонка 1' AND [EXCODE] = 51220000
[SEM9] = $'Введення_значення1'$ #Вибір_оператора1#[EXCODE]=$Введення_значення2$
Перший вираз забезпечує відбір всіх записів, для яких значення полів задано явно: SEM9 дорівнює 'Бензоколонка 1' і поле EXCODE = 51220000, а для другого значення полів задаються за допомогою компонентів'Введення_значення'і компонента 'Вибір_оператора'. У момент активізації фільтра замість назви параметра – змінної підставляється конкретне значення відповідного компонента форми.
Для формування другого виразу необхідно, щоб форма користувача містила компоненти'Введення_значення'і 'Вибір_оператора'. Щоб створити цей вираз уРедакторі, виділити ім'я поля і перетягнути його у вікно тексту фільтра, далі ввести операцію порівняння. Виділити та “перетягнути” ім'я компонента для введення значень, вибору оператора тощо. Ім'я поля буде записано без квадратних дужок, якщо під час перенесення натиснути клавішу .
Для активізації та деактивізації фільтра використовується макросУвімкнути/Вимкнути фільтрацію.
Приклад створення форми користувача за допомогою компонента “Список макросів”.
Розглядається створення форми користувача "Друк_звіту". Ця форма призначена для створення звіту на основі інформації з таблиці даних. Звіт друкується на основі шаблону, створеного та налаштованого заздалегідь у Microsoft Office.
Для створення форми необхідно виконати дії:
1) УАдміністраторі данихв закладціФорми користувачанатиснути кнопкуДодати. АктивізуєтьсяКонструктор форм.
2) Створити нову форму (найпростіше це зробити за допомогою командиФорма/Нова, або вибравши кнопкуСтворити нову форму).
3) Помістити на форму компонентТаблиця(абоЗапит) та налаштувати його.
4) Помістити наформу компонентСписок макросів>:
- задати набір даних, назву, вибрати тип макросу -Звіт для НД;
- вибрати тип звіту та ім'я файлу-шаблону (необов'язковий параметр);
- перейменувати макрос, для наочного і зручного використання. Наприклад, замінимо ім'я "Макрос_форми1" на "Макрос_Звіт";
- натиснути кнопкуВихідРедактора макросів форми.
5) Помістити на форму компонентКнопка.Задати властивостіМакросзначення “Макрос_Звіт”.