Як видно з структура таблиці Table2.dbf має вигляд:
Ім’я поля | Тип даних | Ширина поля | Індекс | Знаків після коми | Значення поля |
Товар | Character | 30 | + | Назва товару | |
Виробник | Character | 20 | + | Фірма виробник техніки | |
Параметри | Character | 10 | Розміри або параметри техніки | ||
Номер | Numenic | 3 | + | Табельний номер | |
Кільктовар | Numenic | 2 | + | 2 | Кількість товару |
Ціна | Numenic | 8 | Ціна техніки | ||
Закупці на | Numenic | 8 | 2 | Закупочна ціна техніки | |
Дата завозу | 8 | + | Дата завозу товару |
У Visual FoxPro7.0. вся інформація зберігається в базі даних, що складається з таблиць, відносин між таблицями, індексів, тригерів і збережених процедур. Кожна таблиця має унікальне ім'я і зберігається в окремому файлі, найменування якого збігається з ім'ям таблиці. Створений файл має розширення DBF.
Кожна створювана таблиця може мати зв'язані з нею індекси, використовувані для упорядкування даних і швидкого пошуку необхідних записів, причому одна таблиця може мати кілька індексів.
Для збереження значень полів типу Memo і General застосовуються окремі файли. Memo-полю чи таблиць містять текстову інформацію, а полючи типу General використовуються, як правило, для збереження двійкової інформації і даних інших додатків, що працюють у середовищі Windows.
У Visual FoxPro реалізовані тригери, що дозволяють централізовано обробляти події, що виникають при будь-яких змінах у базі даних. Також можна створювати збережені процедури, що є частиною бази даних і можуть використовуватися при описі таблиць, для перевірки введених даних, визначення значення за замовчуванням і т. п.
Надзвичайно зручним і корисним засобом доступу до бази даних є представлення даних. Представлення даних дозволяють поєднувати дані таблиць і відображати них у більш зручному виді. Ви можете вибрати тільки цікавлячі вас поля таблиць, об'єднати кілька полів в одне поле, обчислити підсумкові значення і задати нові імена полів таблиці. Як правило, кількість представлень у базі даних набагато перевершує кількість таблиць. В міру експлуатації бази даних їхня кількість безперервно росте. У багатьох інформаційних системах доступ до даних, включаючи перегляд, додавання і редагування, здійснюється тільки за допомогою представлень даних. Цей підхід дозволяє здійснити гнучке керування доступом до інформації. При використанні представлень для вибірки даних у формах, звітах, при створенні запитів і в програмах застосовуються ті ж правила, що і для таблиць. Редагування даних, включених у представлення, можливо тільки за певних умов. Наприклад, у тому випадку, якщо воно створено на основі тільки однієї таблиці.
Для відображення і редагування даних використовуються форми, звіти, запити і програми. При створенні форм, звітів і запитів застосовуються конструктори. Тому ці компоненти часто називають конструкторськими об'єктами. Форми і звіти є складеними об'єктами, тому що вони складаються з більш дрібних об'єктів (таких як полючи, кнопки, діаграми, рамки, OLE-компоненти і т. п.), що називаються об'єктами інтерфейсу.
Форми використовуються для перегляду або введення даних у таблиці. Дані можна вводити безпосередньо в таблиці, але використання форми є більш швидким і більш ефективним способом уведення. Форма містить деякі або всі поля таблиць, у які ви вводите інформацію. Для створення форм ви можете використовувати майстер створення форм або конструктор форм. Майстер форм містить цілий ряд шаблонів, що визначають співвідношення між таблицями, що поміщаються у форму, вид відображення даних і порядок розміщення полів. Для створення складних форм застосовується конструктор форм.
Звіти використовуються для печатки, що утримується в базі дані інформації. Прикладами звітів є прайс-лист товарів, список покупців, оборотна складська відомість. Як правило, звіти створюються в тому випадку, якщо інформацію необхідно передавати кому-небудь у друкованому виді. Для створення звітів у Visual FoxPro, як і для форм, використовуються майстер і конструктор звітів. За допомогою майстра звітів ви можете швидко створити власний звіт на основі наявних шаблонів. Застосування конструктора звітів дозволяє створювати звіти довільної складності, включаючи багаторівневе угруповання даних і розміщення полів, що обчислюються.
Запити є засобом вибірки даних з однієї або декількох таблиць. У Visual FoxPro для створення запиту ви можете використовувати як конструктор запитів, так і спеціалізована мова Structured Query Language (SQL). Результати виконання запиту можуть відображатися у формі, виводитися у виді звітів і діаграм або зберігатися в зазначеній вами таблиці.
Програми, написані мовою Visual FoxPro, є об’єктно-орієнтованими. За допомогою них ви обробляєте події у формі, створюєте об'єкти, здійснюєте різні обчислення, керуєте базою даних. Для зручності роботи ви можете об'єднати програми в бібліотеки.
Для створення форм у Visual FoxPro можна використовувати не тільки базові класи, але і створювати власні. Наприклад, ви можете визначити клас форм, у якому заданий визначений колір тла і стандартний набір кнопок для керування даними. Щоб стандартизувати розробку, корисно мати один або кілька користувацьких класів для кожного базового класу. Класи, створені в Visual FoxPro, зберігаються в бібліотеках класів.
Для об'єднання компонентів створюваного додатка використовується проект, у який включаються всі перераховані компоненти. Використання проекту спрощує розробку додатка і його супровід.
Кожен компонент зберігається в окремому файлі, причому імена файлів, що містять основні компоненти, ви задаєте самостійно, а найменування файлів, що містять об'єкти, зв'язані з таблицею, збігаються з ім'ям таблиці. У залежності від типу об'єкта, що утримується в ньому, Visual FoxPro автоматично привласнює кожному файлові розширення, що допомагає в ідентифікації об'єкта. [1]
При розробці системи всі форми продукції та замовників були зв’язані між собою по індексу. Усі елементи зв’язані з базою (відповідні поля при зміні записів завантажуються синхронно в усі поля).
Кнопки на формах автоматично пов’язані із записами. Розглянемо зокрема подію при натискуванні на кнопку «Наступний запис» форми table1. Як бачимо, виконується команда 1. buttonset1.cmdNext.click що присвоює елементам, які відображають інформацію, наступний запис (для кожного поля свій)
Приступимо до програмної реалізації бази даних. Взагалі слід зазначити, що в Visual FoxPro існують 2 шляхи реалізації майже будь-якого завдання: візуальний і програмний. У першому випадку необхідні дії виконуються за допомогою команд меню самого FoxPro і спеціалізованих майстрів. У другому – за допомогою вбудованої мови програмування, успадкованого ще від ранніх версій. У всіх випадках ми користуватимемося другим способом, окрім самого створення бази даних. Річ у тому, що на першому етапі необхідно створити так званий проект Visual FoxPro, до складу якого надалі входитимуть всі без виключення використовувані нами компоненти. Для більшої наочності бажано створювати проект «вручну». Крім того, існують 2 види таблиць FoxPro: вільні і зв'язані, тобто що входять до складу баз даних. Наша таблиця відноситься до другого типа, тоді як команда CREATE TABLE створює вільну таблицю. З урахуванням цього, створення бази даних проведемо візуально, а вся решта маніпуляцій – програмно.
Для послідовного пошуку найпершого запису бази даних, що задовольняє заданій FOR-умові і до тих пір, поки дотримується WHILE-умова (якщо є), застосовується команда LOCATE. Для продовження пошуку, початого командою LOCATE, застосовується команда CONTINUE.
Реалізація ітераційних циклів, тобто циклів з наперед відомою умовою їх закінчення і невідомим числом повторів, виконується наступною інструкцією:
DO WHILE <условие>
<команды>
ENDDO
Для послідовного перегляду бази даних, пошуку всіх записів, що задовольняють умовам і виконання над знайденими записами яких-небудь операцій, служить команда SCAN.
SCAN [<границы>] [FOR <условие>]
<команды>
ENDSCAN
Формування звітів для такого проекту є вкрай необхідним, адже саме в звітах виводиться повна інформація по проекту. Крім того звіти є можливість роздрукувати і тим самим завершити повний цикл розробки бази даних – від проектування до виведення кінцевої сукупної інформації.
Для створення звітів в середовищі розроблений дуже зручний майстер звітів. Спочатку він надає користувачу вибір: звіт з однієї таблиці чи декількох таблиць. Після цього користувач вибирає таблицю(таблиці), дані з якої відображатимуться у звіті. Після добавлень полів, які виведуться у звіті можна вибрати поле по якому сортуватимуться результати у звіті. Далі вибираємо бланк для звіту, вид сторінки звіту (книжна чи альбомна), індексовані поля. Після цього зберігши все раніше введене ми отримуємо файл звіту (розширення для файлів звітів – *.frx).
В даному проекті створимо два звіти по двох основних таблицях.
Перший звіт створимо по таблиці комп’ютерної техніки Table1.dbf.
Виберемо відповідну таблицю і добавимо поля, які відображатимуться в звіті.
Вибираємо поле, по якому сортуватимуться всі дані в звіті (в нашому випадку це поле Товар)
Вибираємо вид відображення звіту