|
|
|
| Работаю я в VB6
Есть две идентичные базы
Одна рабочая база.mdb, другая архив. arhiv.mdb
при старте прогаммы старые записи (" WHERE (((SERVICE_TRANSACTIONS_TBL.CONSIDER)=True));") перебрасываются в архив.
но не уничтожаются в основной, пока их тама не оприходывают.
' переброс транзакций в архив
GLB_CONNECTION.Execute "INSERT INTO SERVICE_TRANSACTIONS_TBL IN '" & App.Path & "\ARHIV_VASH.mdb" & "' SELECT SERVICE_TRANSACTIONS_TBL.* " _
& " From SERVICE_TRANSACTIONS_TBL" _
& " WHERE (((SERVICE_TRANSACTIONS_TBL.CONSIDER)=True));"
дык вот при повторном перебросе - возникает естественно ошибка, так как значения идентификаторов повторяется.....
как в запрос добавить условие на проверку, что в другой базе эти записи - уже имеются?
или что то другое?
| |
|
| |
|
|
|
| запрос на объединение 2 табл (т.е. сделать 1 таблу - 1 табла из одной базы 2 табла из другой базы)
запрос к запросу на повторяющиеся записи
если есть то попал
а если нет - то усё в архив | |
|
| |
|
|
|
| Спасибо!
Есть более бескровный вариант - добавить поле типа логическое - (уже в архиве/ещё не переброшено....)
Но всё это не катит, потому как синхронизации возможно не проводилось и в архив рановато......
одним словом туплю - я... | |
|
| |
|
|
|
| добавить RecordDate в таблицу (если еще нет) и ориентироваться по дате на которую делается архивация | |
|
| |
|
|
|
| А уникальный индекс в архивной базе по паре полей не катит? | |
|
| |
|
|
|
|
| А как с помощью запроса - таблицу (данные из таблицы) - из другой базы перекинуть в текущую?
| |
|
| |
|
|
|
| INSERT INTO <...> SELECT <...> FROM <...>
угадал? | |
|
| |
|
|
|
| как то так, но я чё та ни как ...
понаписано много.
http://dogs-watch-zoo.livejournal.com/675.html
====================================
да, че та прорисовывается
Синтаксис
Запрос на добавление нескольких записей
INSERT INTO конечный_объект [(поле1[, поле2[, ...]])] [IN внешняя_база_данных]
SELECT [источник.]поле1[, поле2[, ...]
FROM выражение_таблицы
Запрос на добавление одной записи
INSERT INTO конечный_объект [(поле1[, поле2[, ...]])]
VALUES (значение1[, значение2[, ...])
|
| |
|
| |
|
|
|
| только не перепутай откуда куда вытягиваешь-засовываешь :) | |
|
| |
|
|
|
|
| ак в запрос добавить условие на проверку, что в другой базе эти записи - уже имеются? |
INSERT INTO Table2 (Table2ID)
SELECT Table1ID FROM Table1
WHERE Table1ID NOT IN SELECT Table2ID FROM Table2
|
| |
|
| |
|
|
|
| Спасибо!!!
а то я в тупе ке пробывал.......
тока она внешняя - база,
не прилинкованные таблицы ...... | |
|
| |
|
|
|
| Пожалуйста !
Ну думаю, не проблема подредактировать для внешней базы. | |
|
| |
|
|
|
| Кому Как
| |
|
| |
|
|
|
| там разница только в INSERT INTO <...> IN | |
|
| |
|
|
|
|
| Yx' не получается.........
Почему везде перенос данных только во внешнюю базу и никак ни наоборот..
SELECT поле1[, поле2[, ...]] INTO новая_таблица [IN внешняя_база_данных]
FROM источник
все примеры на импорт анных во внешнюю базу, даже конструктор в VSAccess предлагает создать таблу во внешней базе.....
GLB_CONNECTION.Execute "SELECT " & STR_TABLE_NAME & ".* INTO " & STR_TABLE_NAME & " IN '" & STR_BAZA_NAME & "' From " & STR_TABLE_NAME & " "
а мне надо создать таблу в текущей, но источником служит таблица из внешней базы.
Как же это написать твою мать
| |
|
| |
|
|
|
| А может внешнюю присоединить сначала? | |
|
| |
|
|
|
| Нет Дядя_Фёдор, но я кажись - нащупал | |
|
| |
|
|
|
|
| Дилюсь я на нибо тай думку гадаю чому я ни кит чому ни мяучу?
'Удаление таблиц:'CONNECT.Execute "DROP TABLE " & STR_TABLE_NAME
' перенос таблиц:GLB_BAZA_PATCH -путь к внешней базе
GLB_CONNECTION.Execute "DROP TABLE CLASS_TBL" ' From CLASS_TBL"
GLB_CONNECTION.Execute "SELECT CLASS_TBL.* INTO CLASS_TBL FROM CLASS_TBL IN '" & GLB_BAZA_PATCH & "' "
|
| |
|
| |
|