Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите не тупить
 
 автор: час   (02.03.2011 в 13:12)   личное сообщение
 
 

Работаю я в 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));"

дык вот при повторном перебросе - возникает естественно ошибка, так как значения идентификаторов повторяется.....

как в запрос добавить условие на проверку, что в другой базе эти записи - уже имеются?

или что то другое?

  Ответить  
 
 автор: snipe   (02.03.2011 в 13:41)   личное сообщение
 
 

запрос на объединение 2 табл (т.е. сделать 1 таблу - 1 табла из одной базы 2 табла из другой базы)
запрос к запросу на повторяющиеся записи
если есть то попал

а если нет - то усё в архив

  Ответить  
 
 автор: час   (02.03.2011 в 14:17)   личное сообщение
 
 

Спасибо!
Есть более бескровный вариант - добавить поле типа логическое - (уже в архиве/ещё не переброшено....)

Но всё это не катит, потому как синхронизации возможно не проводилось и в архив рановато......

одним словом туплю - я...

  Ответить  
 
 автор: Explorer   (02.03.2011 в 14:37)   личное сообщение
 
 

добавить RecordDate в таблицу (если еще нет) и ориентироваться по дате на которую делается архивация

  Ответить  
 
 автор: Дядя Федор   (02.03.2011 в 15:35)   личное сообщение
 
 

А уникальный индекс в архивной базе по паре полей не катит?

  Ответить  
 
 автор: час   (02.03.2011 в 16:54)   личное сообщение
 
 

Спасибо!!!

  Ответить  
 
 автор: час   (02.03.2011 в 17:47)   личное сообщение
 
 

А как с помощью запроса - таблицу (данные из таблицы) - из другой базы перекинуть в текущую?

  Ответить  
 
 автор: Explorer   (02.03.2011 в 18:01)   личное сообщение
 
 

INSERT INTO <...> SELECT <...> FROM <...>

угадал?

  Ответить  
 
 автор: час   (02.03.2011 в 21:52)   личное сообщение
 
 

как то так, но я чё та ни как ...
понаписано много.
http://dogs-watch-zoo.livejournal.com/675.html
====================================
да, че та прорисовывается

Синтаксис

Запрос на добавление нескольких записей

INSERT INTO конечный_объект [(поле1[, поле2[, ...]])] [IN внешняя_база_данных]
SELECT [источник.]поле1[, поле2[, ...]
FROM выражение_таблицы

Запрос на добавление одной записи

INSERT INTO конечный_объект [(поле1[, поле2[, ...]])]
VALUES (значение1[, значение2[, ...])

  Ответить  
 
 автор: Explorer   (02.03.2011 в 22:50)   личное сообщение
 
 

только не перепутай откуда куда вытягиваешь-засовываешь :)

  Ответить  
 
 автор: час   (03.03.2011 в 08:26)   личное сообщение
 
 

  Ответить  
 
 автор: Stanislav   (04.03.2011 в 14:41)   личное сообщение
 
 

ак в запрос добавить условие на проверку, что в другой базе эти записи - уже имеются?




INSERT INTO Table2 (Table2ID)
SELECT Table1ID FROM Table1 
WHERE Table1ID NOT IN SELECT Table2ID FROM Table2

  Ответить  
 
 автор: час   (05.03.2011 в 21:31)   личное сообщение
 
 

Спасибо!!!
а то я в тупе ке пробывал.......
тока она внешняя - база,
не прилинкованные таблицы ......

  Ответить  
 
 автор: Stanislav   (06.03.2011 в 03:10)   личное сообщение
 
 

Пожалуйста !
Ну думаю, не проблема подредактировать для внешней базы.

  Ответить  
 
 автор: час   (07.03.2011 в 20:58)   личное сообщение
 
 

Кому Как

  Ответить  
 
 автор: Explorer   (07.03.2011 в 22:11)   личное сообщение
 
 

там разница только в INSERT INTO <...> IN

  Ответить  
 
 автор: час   (08.03.2011 в 11:03)   личное сообщение
 
 

нет - там разница в мозгах
=========================================================================
PS

..........СПАСИБО!!!

  Ответить  
 
 автор: час   (10.03.2011 в 14:25)   личное сообщение
 
 

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 & " "

а мне надо создать таблу в текущей, но источником служит таблица из внешней базы.
Как же это написать твою мать

  Ответить  
 
 автор: Дядя Федор   (10.03.2011 в 16:05)   личное сообщение
 
 

А может внешнюю присоединить сначала?

  Ответить  
 
 автор: час   (10.03.2011 в 16:22)   личное сообщение
 
 

Нет Дядя_Фёдор, но я кажись - нащупал

  Ответить  
 
 автор: Дядя Федор   (10.03.2011 в 16:25)   личное сообщение
 
 

Нащупал - делись...

  Ответить  
 
 автор: час   (10.03.2011 в 16:56)   личное сообщение
 
 

Дилюсь я на нибо тай думку гадаю чому я ни кит чому ни мяучу?

'Удаление таблиц:'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 & "' "

  Ответить  
 
 автор: Дядя Федор   (10.03.2011 в 16:59)   личное сообщение
 
 

крутобыл

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList