Підтримка xml в програмі access

Мова XML - це прекрасний спосіб обміну даними між різними комп'ютерними про-грамами. Але що робити з програмою Access, у якої вже є власний відмінний спосіб зберігання даних? Ситуація така: сьогодні все більше і більше компаній примі-няют мову XML для обміну даними. Коли компанії обмінюються комерційними зам-зами, наприклад, або новинні організації посилають нариси, або фірми по процесі торгівлі не-рухомістю перераховують пропоновану для продажу власність, дуже ймовірно, що вони використовують формат на основі XML. Якщо ви хочете відправити ваші дані Access в такі системи, потрібен спосіб вилучення їх зі спеціалізованого ACCDB-формату БД і приміщення їх в простий і зрозумілий XML-формат.

Підтримка xml в програмі access


На жаль, підтримка мови XML в програмі Access досі дуже обмежена. Проблема полягає в тому, що Access не дозволяє вибрати потрібний вам XML-формат. Замість цього програма створює власний формат, який точно відповідає вашій таблиці. Подивіться на таблицю на рис. 19.11. (При експорті в XML-файл завжди експорту-ється таблиця цілком.)

Мал. 19.11. Приклад даних, готових до нового життя в XML-форматі

Коли експортується наведена таблиця, програма Access створює XML-документ, який виглядає наступним чином:

Thin-Jam Hex Nut 7

750

Thin-Jam Hex Nut 8

Незалежно від експортованої таблиці програма Access завжди слід одним і тим же правилам:

# 9632; кореневий елемент документа називається ;

# 9632; програма Access створює окремий елемент для кожного рядка таблиці, використовуючи ім'я таблиці. В даному прикладі це означає, що ви отримаєте один елемент для кожного запису;

# 9632; всередині кожного запису Access створює окремий елемент для кожного поля. В данному
прикладі ви отримаєте поля , і т.д.

У подібній структуризації XML-документа немає нічого поганого. Однак оскільки у вас немає можливості змінювати структуру, ви зазнаєте невдачі, якщо захочете вико-ти іншу програму, яка приймає XML-документи з іншим форматом. Наприклад, ваша програма розраховує, що кореневий елемент буде названий , а не або вона приймає дещо іншу вкладеність елементів. Незначи-тільні нестиковки, подібні описаним, можуть повністю порушити роботу програми з XML-обробкою.

Сумно, але цю проблему не оминути. Для того щоб використовувати XML-файли про-грами Access, потрібно спеціально розробляти програму, що розпізнає цю структуру, або застосовувати інший засіб для перетворення XML-файла в стандарт, який вам насправді потрібен. Засіб експорту в XML-файл програми Access дозволяє почати, але не надає варіантів для представлення даних.

Якщо вам необхідно відфільтрувати записи або не цікавить вас поля або Переймен-вать поля, завдання можна вирішити за допомогою запиту. Просто створіть запит, який перед-ставлять інформацію потрібним вам чином, і потім експортуйте результати запиту (замість цілої таблиці).

Ті ж обмеження виникають, коли імпортується XML-вміст. Програма Access розраховує на отримання XML-вмісту з жорстким табличним форматом. Якщо ви спробуєте уявити їй XML-документ іншого типу, то отримаєте повідомлення про помилку.

Тепер, коли ви познайомилися з мовою XML і розглянули обмеження, встановлені в програмі Access, ви готові застосувати його для власних потреб. Далі перераховані необхідні для цього дії.

1. Виберіть на стрічці Зовнішні дані → Експорт → Додатково → XML-файл (External Data → Export → More → XML File).

Починається знайомий вам процес експорту.

2. Введіть ім'я файлу, який хочете створити, і натисніть кнопку ОК.

3. Виберіть типи файлів, які хочете створити (рис. 19.12):

# 9633; дані (XML) (Data (XML)) - створюється XML-файл з дійсним вмістом з усіх записів вашої таблиці;

# 9633; схема даних (XSD) (Schema (XSD)) - створюється файл схеми з розширенням xsd. Схема не містить ніяких даних, а зберігає коротке визначення, яке описує вашу таблицю і що містяться в ній поля. У схеми два призначення - її можна передати професійним програмістам, щоб вони знали, якого типу XML-документ чекати від програми Access, або використовувати її для створення нової пустойтабліци в інший БД Access;


презентація даних (XSL) (Presentation (XSL)) - створює файл перетворення з розширенням xsl. У цьому файлі визначається, як оглядач може перетворити вихідні дані з XML-файла в Web-сторінку на мові HTML, яка підходить для відображення в Web-браузері. Коли цей параметр вибрано, Access також створює htm-файл, який використовує xsl-файл. Наприклад, якщо експортується таблиця Products, ви отримаєте в результаті файл Web-сторінки Products.htm. Відкрийте її в вашому Web-браузері, і він скористається файлом Products.xsl для відображення даних з файлу Products.xml.

Мал. 19.12. Зазвичай створюється XML-файл, який зберігає реальні дані з вашої таблиці. Крім того, можна створити два додаткових файлу підтримки

4. Якщо ви хочете експортувати пов'язані таблиці в одному і тому ж XML-документі, клацніть кнопку Додатково. (More Options.).

На екрані з'явиться вікно Експорт XML (Export XML) з додатковими параметрами. Більшість з цих параметрів найкраще залишити гуру XML. Але найцікавіша вкладка Дані (Data) - вона дозволяє експортувати пов'язані табли-ці (рис. 19.13).

Наприклад, при експорті таблиці Orders у вас є дві можливості.

# 9633; Експорт інших підлеглих таблиць. Можна було б також експортувати записи таблиці OrderDetails для кожного замовлення. Програма Access вкладає в XML-файл елементи OrderDetails всередину відповідного елемента Orders.

# 9633; Експорт пов'язаних записів з головної таблиці. Можна було б, наприклад, експортувати записи з таблиць OrderStatus і CreditCards. Ці записи з'являються під заголовком [Дані підстановки] ([Lookup Data]), оскільки вони надають додаткові дані, пов'язані із замовленням (в даному випадку поточний статус замовлення і кредитну карту, яка застосовується для оплати замовлення).

Підтримка xml в програмі access

Мал. 19.13. На вкладці Дані відображається дерево з експортованої таблицею в корені, а гілки дерева представляють пов'язані таблиці. Якщо ви хочете включити дані з цих пов'язаних таблиць, просто встановіть прапорець, розташований поруч з кожною з них

Коли експортуються головні або батьківські таблиці, дані не вкладаються в XML-документі, оскільки це могло б привести до дублювання (наприклад, якщо у кількох за-казов один і той же статус або в них застосовується одна і та ж кредитна карта). Замість цього вони додаються після основної продукції, що експортується таблиці.

5. Клацніть мишею кнопку ОК.

Програма Access створить файли, вибрані в пункті 3.

6. Якщо ви хочете повторити процес експорту кілька разів, встановіть прапорець Зберегти кроки експорту (Save export steps).

Клацніть мишею кнопку Закрити (Close) для повернення у вікно програми Access.

Програма Access робить дуже легким процес імпорту XML-даних, за умови що у них структура, на яку розраховує програма. Для перевірки на практиці виберіть щойно експортовану таблицю і заново імпортуйте її в нову БД. Ось як це робиться.

1. Виберіть на стрічці Зовнішні дані → Імпорт → Імпортувати XML-файла (External Data → Import → XML File).

Розпочнеться знайомий процес імпорту.

2. Якщо створюється нова таблиця і для ваших даних є схема, задайте ім'я файлу, що містить схему. Якщо у вас вже є таблиці, які хочете використовувати, або під рукою немає схеми, перейдіть відразу до пункту 6.

Можна імпортувати безпосередньо з XML-файла, але завжди краще застосувати схему, якщо таблиця створюється вперше, оскільки в схемі зберігається інформація про типи даних всіх полів. Ці відомості гарантують більшу відповідність створюваної табли-ці вихідної таблиці, яку ви експортували.

3. Клацніть мишею кнопку ОК.

Мал. 19.14. В даному прикладі Access коректно встановлює, що ваш файл схеми визначає структуру таблиць Orders, OrderDetails, OrderStatus і CreditCards. Можна розкрити кожну таблицю і побачити що містяться в ній поля

4. Клацніть мишею кнопку ОК.

За допомогою даних схеми програма Access створює нову порожню таблицю з коректив-ної структурою. Тепер можна заповнювати її даними.

Якщо таблиця з таким же ім'ям вже існує, Access додасть в кінець імені число, щоб відрізняти нову таблицю (наприклад, Products1, Products2 і т. Д.).

5. Клацніть мишею кнопку Закрити (Close), щоб повернутися у вікно програми Access.

6. Виберіть на стрічці Зовнішні дані → Імпорт → Імпортувати XML-файла (External Data → Import → XML File).

Тепер, коли ваші таблиці створені, можна імпортувати реальні дані.

7. Задайте ім'я XML-файла, що містить дані, які потрібно імпортувати, і клацніть мишею кнопку ОК.

Програма Access відобразить структуру таблиці на основі XML-даних вашого файлу, Ця структура повинна точно відповідати структурі таблиці, яку ви хочете створити або в яку хочете додати дані.

8. Виберіть один з варіантів операції імпорту.

o Вибір перемикача додати дані в таблиці (Append Data to Existing Table (s)) змушує програму Access знайти таблицю з таким же ім'ям і додати в неї всі дані. Цей варіант застосовується, якщо використовувана таблиця вже існує.

o Вибір перемикача структура і дані (Structure and Data) створює таблицю і за-тим заповнює її даними.

o Вибір перемикача тільки структура (Structure Only) створює неіснуючу до цього моменту таблицю, але не імпортує жодних даних.

Якщо в процесі імпорту вам потрібно створити таблицю, завжди краще застосувати файл схеми для її створення (як описано в пунктах 1-5), оскільки в схемі містяться більш точні відомості про типи даних.

9. Клацніть мишею кнопку ОК.

Access заповнить таблиці даними з вашого XML-файла.

Якщо ви хочете повторювати процес імпорту кілька разів, встановіть прапорець збереженні-нитка кроки імпорту (Save export steps).

Схожі статті