Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Импорт из одной БД в другую БД  [new]
KV
Member

Откуда:
Сообщений: 319
Есть две БД с одинаковыми таблицами. Как можно импортировать все данные из одной БД в другую, сразу из всех таблиц?
25 май 04, 12:31    [698606]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из одной БД в другую БД  [new]
zz
Member

Откуда: Колыбель космонавтики
Сообщений: 1796
ну если надо заменить данные, то убить все таблицы в базе-получателе и проимпортировать из др. базы. А если добавить данные, то нада написать мини-программульку...
25 май 04, 12:49    [698700]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из одной БД в другую БД  [new]
KV
Member

Откуда:
Сообщений: 319
Да данные нужно добавлять.
25 май 04, 12:54    [698721]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из одной БД в другую БД  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
Вот тебе код для нормализации твоей базы
если у тебя таблицы одного вида

если же нужно добавить данные в таблицы разного вида -
модифицируй

Sub NormalizeDB()
'сливание таблиц-дней в таблицу-период

Dim tmp, tDate, tRate, strSQL

Dim rstReps As DAO.Recordset
Dim rstExRates As DAO.Recordset
Dim rstDATA As DAO.Recordset

Set rstReps = CurrentDb.OpenRecordset("SELECT * FROM Reports_archive WHERE [Дата отчетов] > #20/02/2004#", dbOpenDynaset)
Set rstExRates = CurrentDb.OpenRecordset("tblExchRates", dbOpenDynaset)

'rstExRates.MoveLast

rstReps.MoveFirst

'перебор дат сохраненных отчетов
Do While Not rstReps.EOF

tmp = Format(rstReps.Fields(0), "dd/mm/yy")

Debug.Print tmp

'получим дату\курс
Set rstDATA = CurrentDb.OpenRecordset(tmp, dbOpenDynaset)
tDate = CDate(rstDATA!Expr1)
tRate = rstDATA!Expr2
rstDATA.Close

'сохр курс
With rstExRates
    .AddNew
    !fDate = tDate
    !fUSDRate = tRate
    .Update
End With

'выгрузить данные в общую табл
strSQL = "INSERT INTO tblAccData ( Дата, [Счет], Сальдо ) " & _
    "SELECT CDate([Expr1]) AS Expr3, Счет, Сальдо " & _
    "FROM [" & tmp & "]"

CurrentDb.Execute strSQL

rstReps.MoveNext
Loop

rstReps.Close
Set rstReps = Nothing

rstExRates.Close
Set rstExRates = Nothing

Set rstDATA = Nothing

End Sub
25 май 04, 13:48    [698949]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из одной БД в другую БД  [new]
KV
Member

Откуда:
Сообщений: 319
Может имеет смысл использовать репликацию? Что посоветуете?
26 май 04, 10:04    [701028]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить