Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копирование данных из одной базы Access в другую


chainik ©   (2004-04-18 18:25:00) 

Добрый день. У меня есть две базы Accees:
Source.mdb и Destination.mdb.
Надо записи из таблицы Table1 в  Source.mdb скопировать в таблицу Table1 в Destination.mdb при этом обновляя записи ключи которых уже существуют в таблице приёмнике.  Я использую два компонента TADODataSet копируя в цикле по одной записи но так получается очень медленно.Как это сделать быстрее и надёжнее?


_sulent   (2004-04-19 13:40:00) [1]

insert into table1 in 'c:\destination.mdb'
select * from table1 in 'c:\source.mdb'

Но это просто перекатывать будет данные, а с ключами надо подумать, скорее всего надо будет действительно делать обновление записи... но дело в чем, можешь сделать так, сделать пустую таблицу destination.mdb
и туда просто записать все данные
select into table in 'c:\destination.dmb'
from table1 in 'c:\source.mdb'


sniknik   (2004-04-19 07:54:00) [2]

в 2 действия insert - добавить новые, update - обновить старые.

можно и твой первоначальный вариант ускорить. (уверен, но пока нет чего, код)


chainik   (2004-04-18 22:15:00) [3]

Я немножко неправильно выразился. Я имел ввиду добавить записи в таблицу приёмник а не копировать в пустую таблицу. Если делать добавление запросом то при попытке добавить запись с ключём существующем в таблице приёмнике возникнет сообщение о дублировании ключевых значениий, а мне надо чтобы в таком случае существующая запись обновлялась.
Можно ли средствами SQL сделать чтобы существующие записи обновлялись а несуществюущие добавлялись в таблицу приёмник.


sniknik   (2004-04-18 19:37:00) [4]

запросом, смотри в справке по "Предложение IN". справка JETSQL40.CHM ставится с мсофисом.


Наверх

Титульная страница Поиск, карта сайта Написать письмо