Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Как перенести данные в новую базу?


Автор: MarinaK 30.1.2005, 02:16
Стандартная (мне кажется) ситуация: Пользователь уже работает с БД, а программист (находясь в другом месте) продолжает доработку (изменяет таблицы и формы). Есть ли более удобный способ переноса данных в БД с новой структурой, кроме Copy-Paste по одной таблице?

Спасибо!

Автор: tigrik 30.1.2005, 03:36
Варианты есть разные

1. sql для измения структуры существующей БД - тогда данные переносить не придётся
(только сохранить данные обязательно до того чтобы не пропали smile могут быть сбои)
обычно это что то типа alter table ... синтах и возможности зависят от конкретной БД

2. sql для копирования данных "insert as select"

3. export из старой БД - import (load) в новую

думаю можно ещё что-нибудь придумать
от ситуации зависит, базы данных и пользователя smile
от того разрешено ли программисту лицезреть данные smile smile

если нужны конкретные примеры надо знать что за база данных
и какие изменения в структуре сделаны

Автор: MarinaK 31.1.2005, 02:43
Цитата

если нужны конкретные примеры надо знать что за база данных
и какие изменения в структуре сделаны


Ну, обычная база smile Поставки, товары, склад, продажи, клиенты и т.д.

Изменения:

1. Типы полей в таблицах ("корректные изменения", т.е. 'Integer' на 'Double' и т.д.)
2. Добавлены новые поля в таблицах
3. Существенно изменены формы (новые элементы, новые и измененные модули)

Доступ к данным полный, это не проблема... smile

Автор: boevik 31.1.2005, 08:12
MarinaK, 1 и 2 лучше делается как подсказала tigrik в первом варианте, через SQL типа alter table.
А с третим вариантом, такой вопрос. Формы вместе с данными сидят в одном файле mdb?
Если нет, то просто меняется файл форм у клиента.
Если да, то не обойтись без копирования данных из старой базы в новую. В этом варианте желательно разделить данные и формы в разные файлы.

Автор: Akina 31.1.2005, 12:27
Цитата(MarinaK @ 30.1.2005, 03:16)
Есть ли более удобный способ переноса данных в БД с новой структурой, кроме Copy-Paste по одной таблице?

Уточни, меняется ли структура таблиц и связей, или меняются только запросы-формы-отчеты?

В первом случае наиболее разумно создание специальной процедуры импорта данных из предыдущей версии БД.
Во втором случае достаточно выполнить разделение БД на данные и интерфейс. И предусмотреть процедуру перепривязки файла данных.

Автор: MarinaK 1.2.2005, 05:21
Цитата(Akina @ 31.1.2005, 12:27)

...выполнить разделение БД на данные и интерфейс. И предусмотреть процедуру перепривязки файла данных.

Если можно, расскажите поподробнее, я про это ничего не знаю... Как разделять? И как перепривязывать? В настоящее время у меня все в одном файле MDB.


Автор: Akina 1.2.2005, 09:57
Access - справка - поиск - "Разделение баз данных"

Автор: MarinaK 2.2.2005, 02:37
Спасибо, с разделением все стало ясно !
Последнее, что мне непонятно:
Цитата
И предусмотреть процедуру перепривязки файла данных

Что вы называете "перепривязкой" и как это сделать?

Автор: Akina 2.2.2005, 09:26
Цитата(MarinaK @ 2.2.2005, 03:37)
Что вы называете "перепривязкой" и как это сделать?

Местоположение (и имя) базы с таблицами может измениться. Юзер должен иметь возможность указать где именно лежит эта база, а программа - подхватить указанные изменения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)