Смекни!
smekni.com

Система управління базами даних FoxPro (стр. 3 из 3)

Індексний вираз включає в себе поле текучої бази даних, значення його може бути числовим, символьним або логічним.

Поле memo не може включатися в індексний вираз. Довжина індексного виразу для IDX-файлу має 100 символів, а CDX-файл – 254 символи.

Перебудова активних індексів.

Перебудову можна здійснити двома способами : відкриття всіх індексних файлів перед внесенням зміни в базу даних, або командою Reindex, яка дає можливість модифікувати індекси після внесення всіх змін в базу даних.

Відкриття індексних файлів.

Відкриття індексних файлів можна здійснити двома способами: по команді Use і по команді Set index to [<список індексних файлів> : ?]

Зміна порядку доступу до індекса:

Set order to <вир. N>.

<вир. N> - вказує номер індекса з списку відкритих індексних файлів

Відкриття індексних файлів і зміна порядку доступу до індекса у FoxPro 2.0

1 Відкриття індексних файлів здійснюється по команді:

Use[<ім’я dbf-файла>] : ? [In<робоча область>][again] [Index<список індексних файлів>]: ? [Order [<вир. N> : <IDX-файл>:[Tag<ім’я тега>] [Of<CDX-файл>][Ascending : Discending]]] [Alias <псевдонім>] [Noopdate].

Order <вир. N> - вказує номер головного інндекса серед перерахованих в списку IDX- файлів або серед тегів, якщо нас не влаштовує відкриття індекса по замовчуванню.

Order : Order 0 – означає що хоч індексні файли відкриваються але не назначається головного індекса.

Order<ім’я файла> - назначає головним той індексний файл ім’я якого вказано. Якщо Order відсутнє, то головним буде перший із списку індексних файлів, а всі інші файли зі списку будуть відкриті.

Якщо відкриваються теги структурних чи мультиіндексних файлів, то слово Of пишуть тоді ім’я CDX- файла не співпадає з іменем бази даних.

Askending: diskending – вказується тоді коли нас не влаштовує порядок сортування в індексному файлі.

Again – дозволяє відкрити відкритій уже файл даних в іншій робочій області. В тій робочій області де він був відкритий раніше.

2 Якщо база даних вже відкрита то відкрити індексні файли можна по команді: set index to [<список індексних файлів>[ order[<вираз N>: <idx-файл>:[ tag <ім’я тега>] [ of <cdx-файл> ] [ askending : dskending ] ] ] ]. По цій команді відкривається індексний файл із списку, якщо відсутний order то дія цієї опції така ж як в команді USE.

3 Якщо боаза даних і індексні файли відкриті то змінити прядок доступу до індекса можна по команді: set order to [ < вираз n > : < idx-файл>:[ tag <ім’я тега>] [ of <cdx-файл> ] [ askending : dskending ] ] ] ][additive].

Копіювання індексних файлів

Індексні файли можна скопіювати в тиги по команді : copy індекс-es < idx-файл> : all to < cdx-файл>. По цій команді копіюються всі файли які є відкриті в структурних або мультиіндексних файлах. Якщо cdx-файла не має то він створюється, іменем IDX-файлів стають іменами тегів.

Copy Tag<ім’я тега>[Of<cdx-файл>]To<idx-файл> - команда копіює тег структурного або мультиіндексного cdx-файла, якщо файл структурний, то of не вказується.

Delete Tag <тег 1>[of<cdx-файл 1>][,<тег 2>[of<cdx-файл 2>]] – знищує теги відповідних cdx-файлів.

Тут можуть бути перераховані теги: формула або різні теги різних файлів, інакший варіант команди – Delete All[of <cdx-файл>] – всі теги знищити.

Формування звітів.

Створення звітних форм.

Create Report [<ім’я файлу>: ?] [Window <ім’я вікна 1>] [In<ім’я вікна 2>: in screen] – ця команда відкриває вікно побудови звіту. Ім’я файлу можна задати. Система присвоїть розширення .frx. Опція Window<імя вікна> означає, що побудова звіту візьме всі характеристики із раніше створеного вікна, яке не відкрите. Вікно 1 повинне бути визначеною командою define window.

In Window означає що вікно побудови звіту буде відкрите в вікні 2. При переміщенні порядку вікна вікно побудови звіту переміщається разом з ним.

In Screen – вікно побудови звіту відкривається на екрані. По замовчуванню вікно побудови звіту відкривається на екрані.

Швидкий звіт.

Create Report <ім’я файла>: ? From<база даних>[From : Column] [Fields<поле бази даних>] [Alias] [Nooverwrite] [With<виразN>] – створення швидкого звіту з заданим іменем і розширенням .frx, або якщо задано ?, ім’я задається у вікні запиту.

Form : Column – визначає розміщення полів зверху вниз або зліва направо.

Fields<поля бази даних> - поля, що будуть включатись в звіт.

Nooverwrite – забороняє запис звіту якщо така форма створена раніше.

With <вираз N> - задає число стовпців у звіті

Модифікація звіту здійснюється командою:

Modify Report [<ім’я>: ?][window<ім’я вікна1>] [in window<ім’я вікна2>:in screen] [nowait] [save]

Nowait – програма продовжує виконувати команди відкритого вікна модифікації звітів.

Save – задає зберігання вікна форматування звіту, після того як користувач запустив його.

Генерація звіту задається командою:

Report From <ім’я звіту>: ? [<діапазон>] [For<умова 1>] [While<умова 2>] [Heading<вираз C>] [Ndeject] [Noconsole] [To print : To file<ім’я файла>] [Summary].

Heading <виразC> - використовується для задання додаткового рядка заголовку на початку кожного рядка звіту.

Ndeject – забороняє протяжку паперу при переході на нову сторінку.

Noconsole – звіт не виводиться на екран коли здійснюється вивід на друк.

Summary – забороняє вивід у звіт записів крім підсумків по групах звіту.

Редагування даних.

Browse [Fields <поля>] [For <вираз L1>] [Format] [Fresse <поле>] [Ledit/Redit] [Lak<вираз N>] [Nodelete] [Noedit/Nomodify] [Nolgriod/Norgriod] [Nolinl] [Nowait] [Partition<вираз N2>] [Rest] [Title<вираз C2>] [When<вираз L2>] [Color sheme<вираз N4>/ Color<список кольорових пар>]

A – управління доступом до полів здійснюється опцією Fields<поля>. Полями можуть бути, як поля даних так і обчислювальні поля. Ключі можуть вказуватись через такі знаки : ‘:’, або ‘/’.

[:R] [: <вираз N >] [:V =<виразL1> [:F] [:E =<виразC1>]] [:D=<вираз C2>] [: B=<вираз1><вираз2>[If]] [ : W=<вираз L2>]

R – означає що поле дозволяється для читання.

Ключ :<виразN1> - вираз числового типу який вказує на ширину виводимого поля.

:V=<вираз L1> - перед редагуванням перевіряється умова, якщо вона істинна, то редагування доступне, інакше недоступне.

: F – в ключі V означає якщо запис не був відредагованим, то він також перевіряється на правельність.

: E – в ключі V використовується для виводу власного повідомлення.

Ключ D задає формат відображення даних таких як Picture.

Ключ : B=<вираз 1><вираз 2> - дозволяє визначити набір граничних значень в межах яких повинні знаходитись дані в заданому полі

Ключ : W= <вираз L> - задає контроль вводу даних в поле, якщо вираз істинний, то редагування доступне, інакше забороняється.

Опція Rest використовується в Browse для того, щоб при повторному виклику команди вказівник залишався на тому записі, що і при останньому виклику команди Browse, інакше на перший запис.

Опції ledit/redit діють в роздільному вікні Browse, вони вказують чи будуть прокручуватсь дані в лівій чи правій частині, як у change-вікні.

Опції nolgriod/norgriod – задають вилучення вертикальних ліній в лівій чи правій частинах вікна, якщо вікно не розділене то задається onecriod

Опція Nolinl – задає несенхронне переміщення видимих записів в розділеному вікні

Опція Noedit – забороняє редагування, дозволяє лише помітки на вилучення і додавання записів

Опція Nodelete – забороняє помітку на вилучення записів

Опція Fresse <поле> - вказує на доступне поле для редагування

Опція Format – дозволяє використовувати форматні файли для виводу інформацї командою Borwse

Опція Title<вираз C> - задає заголовок вікна Borwse

Опція Nowait – використовується в програмних файлах, якщо в програмі зустрічається команда Borwse, то відкривається вікно Borwse, але система не чикає його закриття, тобто робота програми продоовжується

Опція Color sheme<вираз N4>/ Color<список кольорових пар> -визначає розфарбування вікна Borwse

Опція When<вираз L2> - визначає можливість доступу до запису, якщо умова хибна то запис доступний для читання інакше і для редагування

Пошук записів

Пошук здійснюється командою:

Locate for <умова 1> [<діапазон>] [While <умова 2>] – здійснює послідовний пошук першого запису в базі даних, що задовільняє умову 1 з заданого діапазону поки умова 2 істенна. Для продовження пошуку використовується команда Continue. Для прискорення пошуку у проіндексованій базі даних по полю по якому здійснюється індексування використовується команда Seek<вираз>.

Функції які вікористовуються при пошуку:

Found([< область>]) – повертає значення true, якщо пошук здійснено однією з команд : Locate, Continue, Seek

Seek(<вираз> [<область>]) – повертає значення true, якщо запис в якому поле=виразу знайдено

Eof([<область>]) - повертає значення true, якщо досягнуто кінця бази даних

Recn (0) – у випадку невдалого пошуку задає повернення номеру запису, який має найближче значення до ключа пошуку в команді Seek

Set near on/off – якщо задано on, то у випадку невдалого пошуку вказівник буде встановлено на найближче за значенням запис, а не в кінці бази даних, по замовчуванню off

Зауваження : при редагуванні бази даних, зокрема редагування даних, використовується ще команди : Change і Edit, вони містять такі ж опції як у Browse крім Nolgriod/Norgriod.

[21]

[22]