Тема 1. Импорт и экспорт данных.




ПРАКТИЧЕСКАЯ РАБОТА №6. ИМПОРТ И ЭКСПОРТ ДАННЫХ. СОЗДАНИЕ ЗАПРОСОВ НА ИЗМЕНЕНИЕ.

Тема 1. Импорт и экспорт данных.

Данные таблиц из базы данных Access можно экспортировать в другие базы данных Access (*.mdb), в базы данных dBase (*.dbf), Paradox (*.db), ODBC(), в электронные таблицы MS Excel (*.xls), Lotus-1-2-3 (*.wjd), в текстовые файлы (*.txt), в файлы документов (*.rtf), html-документы, XML-документы и т.д.

Пример 1. Выполним экспорт данных из таблицы Поставщики в текстовый документ в формате RTF. Для этого выполните следующие простые действия:

1. Откройте базу данных «Учет и аудит предприятия.mdb».

2. Перейдите на закладку Таблицы, выделите таблицу Поставщики.

3. Выполните меню Файл/Экспорт.

4. Укажите тип файла – формат RTF, имя файла оставьте без изменения, укажите свою папку и экспортируйте туда файл.

Процесс экспорта закончен. Чтобы просмотреть результат откройте свою папку и откройте тестовый файл Поставщики.rtf.

Для того чтобы перейти к теме изучения создания различных видов запросов, необходимо заполнить базу данных данными. Для этого нужно ввести исходные данные. Чтобы не тратить на это много времени, воспользуемся операцией импорта данных. С помощью импорта данных можно добавлять данные из различных источников, например из электронных таблиц, текстовых документов, из других баз данных. Предположим, что данные нашей базы данных введены ранее и хранятся в файлах электронной таблицы, например в MS Excel.

Пример 2. В Excel хранятся данные о поставщиках (файл ПоставщикиExcel.xls), клиентах (КлиентыExcel.xls), товарах (ТоварыExcel.xls). Откройте эти файлы на своих компьютерах (D:/Studentu/Access/) и просмотрите их.

Чтобы эти данные не перенабирать в базу данных можно воспользоваться мастером Импорта данных. Для этого выполните следующие действия:

1. Откройте базу данных.

2. Перейдите на вкладку Таблицы.

3. Откройте меню Файл/Внешние данные/Импорт.

4. Укажите путь к файлу ПоставщикиExcel.xls и тип файлов – Microsoft Excel (*.xls) и нажмите кнопку Иморт.

5. У вас появится диалоговое окно мастера Импорта данных.

6. В первом шаге мастера установите флаг «Первая строка содержит заголовки столбцов ». Нажмите Далее.

7. Во втором шаге мастер будет запрашивать, куда сохранять данные - либо в новую таблицу, либо в уже созданную. Выберите созданную таблицу Поставщики. Нажмите Далее.

8. В следующем шаге мастер ждет подтверждения импорта данных в выбранную таблицу. Нажмите Готово.

Если в вашей таблице Поставщики все поля были созданы верно и имена совпадают с именами полей добавляемой таблицы ПоставщикиExcel.xls и порядок следования имен полей тоже совпадают, то в результате импорта будут добавлены данные о Поставщиках. Откройте таблицу и просмотрите ее.

Самостоятельно аналогично добавьте данные в таблицы Клиенты и Товары.

Однако добавление данных этих трех таблиц недостаточно, так как мы не ввели главные данные, с которыми потом в дальнейшем будем работать, а именно это данные наших приходных и расходных накладных.

Необходимо добавить данные из таблиц ПриходExcel.xls, Ввод_приходаExcel.xls и РасходExcel.xls, Ввод_расходаExcel.xls.

И тут возникает проблема. Дело в том, чтобы при осуществлении операции импорта данных возможно однозначное добавление данных в простые таблицы. При этом данные добавляются в список, где каждой новой записи соответствует номер из добавлененной таблицы.

Например, если таблица Товары содержала бы следующие данные:

Код_товара Название_товара Цена_приходная Цена_расходная Примечание Единица_измерения
  Телевизор Sony $2,00 $4,00   шт
  Телевизор Nokia $3,00 $3,50   шт
  Флеш-носитель 1Гб $2,00 $3,00   шт
  Флеш-носитель 2Гб $3,00 $3,50   шт
  Флеш-носитель 4Гб $4,00 $4,50   шт
  Флеш-носитель 8Гб $5,00 $5,80   шт
  Фото-принтер $80,00 $90,00   шт
  Лазерный принтер $51,00 $15,00   шт
  Струнный принтер $120,00 $170,00   шт

А необходимо добавить данные из таблицы ТоварыExcel.xls:

Код_товара Название_товара Цена_приходная Цена_расходная Примечание Единица_измерения
  Каша рисовая 2,00р. 4,00р.   литр
  Каша гречневая 3,00р. 3,50р.   ящик
  Каша с курицей 2,00р. 3,00р.   литр
  Каша с грибами 3,00р. 3,50р.   ящик
  Крышка закаточная 4,00р. 4,50р.   ящик
  Паста томатная 5,00р. 5,80р.   шт
  Печенье овсяное 8,00р. 9,00р.   шт
  Печенье ороматное 4,00р. 4,30р.   шт
  Молоко 6,70р. 7,00р.   шт
  Сливки 12,10р. 12,30р.   шт
  Масло сливочное 5,00р. 8,00р.   шт
  Масло оливковое 1,00р. 2,00р.   шт
  Повидло яблочное 2,00р. 5,00р.   ящик
  Повидло сливовое 1,00р. 2,00р.   ящик
  Повидло абрикосовое 4,00р. 6,00р.   шт
  Торт Изобелла 1,00р. 2,00р.   шт
  Торт классический 6,00р. 7,00р.   шт
  Торт пикатный 6,00р. 7,00р.   шт
  Кофе Нескафе 9,80р. 10,00р.    
  Кофе Классик 9,60р. 10,00р.   шт

В результате операции импорта в конце будет выдано сообщение:

Если вы нажмете кнопку Да, то после операции импорта данных получится следующее:

Код_товара Название_товара Цена_приходная Цена_расходная Примечание Единица_измерения
  Телевизор Sony $2,00 $4,00   шт
  Телевизор Nokia $3,00 $3,50   шт
  Флеш-носитель 1Гб $2,00 $3,00   шт
  Флеш-носитель 2Гб $3,00 $3,50   шт
  Флеш-носитель 4Гб $4,00 $4,50   шт
  Флеш-носитель 8Гб $5,00 $5,80   шт
  Фото-принтер $80,00 $90,00   шт
  Лазерный принтер $51,00 $15,00   шт
  Струнный принтер $120,00 $170,00   шт
  Сливки $12,10 $12,30   шт
  Масло сливочное $5,00 $8,00   шт
  Масло оливковое $1,00 $2,00   шт
  Повидло яблочное $2,00 $5,00   ящик
  Повидло сливовое $1,00 $2,00   ящик
  Повидло абрикосовое $4,00 $6,00   шт
  Торт Изобелла $1,00 $2,00   шт
  Торт классический $6,00 $7,00   шт
  Торт пикатный $6,00 $7,00   шт
  Кофе Нескафе $9,80 $10,00   шт
  Кофе Классик $9,60 $10,00   шт

Если проанализировать, то первые 9 записей остались без изменения, а новые данные добавились в конец списка, где номер кода товара соответствуют кодам товаров из добавляемой таблицы.

 

А если мы хотим добавить данные в связанные таблицы, как это в таблицах Приход и Ввод_прихода и Расход и Ввод_Расхода, то простой операцией импорта ничего не получится, так как мы не сможем обеспечить однозначность и целостность данных.

С чем это связано? Дело в том, что при выполнении операции импорта данных будут добавлены записи под старыми кодами. А коды в связанных таблицах должны совпадать, например код_прихода или код_расхода. Код_прихода или код_расхода являются ключевыми полями, они однозначно определят набор записей в связанных таблицах Приход и Ввод_приход или Расход и Ввод_расхода.

Например, запись в таблице Приход

Код_прихода Поставщик Дата_накладной Идентифик№поставщика ФИОпоставщика
  МЧП ЛЕЛЕКА 02.10.2002   Моринский

Однозначно соответствуют записи в таблице Ввод_прихода:

Код_ввода_прихода Код_прихода Товар цена кол-во сумма
    Торт классический 6,00р.   12,00р.
    Масло оливковое 1,00р.   89,00р.

 

Проблема заключается в том, что нам нужно будет добавить данные не в одну таблицу, а сразу в две связанные. При этом вначале необходимо добавить данные в главную таблицу, например Приход. Сразу же возникает особенность данной операции. Если бы мы выполняли добавление через импорт данных, то будут созданы записи под кодами, совпадающими с таблицей ПриходExcel.xls, при этом будут частично потеряны данные. Затем необходимо будет добавить данные в подчиненную ей таблицу Ввод_прихода. А так как уже были потеряны данные, то и к связанной таблице они тоже не добавятся.

Как же решить данную проблему? Решим ее с помощью специального вида запросов – запроса на добавление. При этом мы будем добавлять все записи в конец списка и создавать новые уникальные ключи записей.

Но прежде чем переходить к этим видам запросов создадим новые таблицы для хранения внешних данных.

Для этого выполните следующие действия:

1. Перейдите на вкладку Таблицы.

2. Откройте меню Файл/Внешние данные/Импорт…/

3. Выберите Тип файловMicrosoft Excel (*.xls)

4. Найдите файл под именем ПриходExcel.xls и нажмите кнопку Импорт.

5. В открывшемся диалоговом окне мастера Импорта электронной таблицы на вопрос «Файлы электронной таблицы содержит несколько листов и диапазонов. Выберите нужный объект » установите опцию Листы.

6. Во втором шаге мастера выберите Первая строка содержит заголовки столбцов.

7. На третьем шаге мастера выберите Данные необходимо добавить в новую таблицу.

8. На четвертом шаге имеется возможность описать каждое поле импорта. По умолчанию для всех полей автоматически определятся типы данных, кроме индексированного поля. Для этого выберите из списка Имя поля – поле Код_прихода, а в списке Индекс выберите – Да (совпадения не допускаются).

9. На пятом шаге мастера рекомендуется создать ключевое поле либо автоматически, либо самостоятельно определить, либо не создавать ключ. Выберите Определить ключКод_прихода.

10. На шестом шаге мастера введите имя файла – Приход_импорт.

Самостоятельно аналогично создайте новые таблицы под именами Ввод_прихода_импорт, Расход_импорт, Ввод_расхода_импорт используя импортированные электронные таблицы.

Теперь необходимо будет разобраться, что такое запрос, и после уже создать запрос на добавление и с помощью его мы окончательно сможем правильно добавить данные в связанные таблицы Приход и Расход.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: