Показать сообщение отдельно
Старый 23.05.2010, 18:05   #25
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,927
Вы сказали Спасибо: 11,488
Поблагодарили 10,264 раз(а) в 3,837 сообщениях
Zabor хороший собеседник
По умолчанию

Задачка оказалась не так проста =)), дело в том, что мы не можем связать новую и старую таблицы не по одному полю, включая ID т.к. даже ID "ни о чем" - он у каждого добавлявшего записи будет текущий + 1 и т.д. и с главной таблицей не синхронен.

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

По БД от Толяныча это 1395 записей, всего возвращено в базе 1526, однако Толяныч молодец (без шуток) - не только добавил, но и модифицировал старые, что есть правильно так оно и должно работать (правда я к этому еще был не готов =)) ).

По [ID] только из присланной таблицы (там он неповторим и в тоже время не имеет ничего общего с текущей главной таблицей) вычисляем записи без подчиненных против 1395 отобранных на предыдущем этапе без участия ID (инверсия отбора), в результате на выходе 131 запись из присланной таблицы, новые + модифицированные.

Для ускорения процесса скидываем результат в промежуточную (временную) таблицу, т.к работаем только с одной одномоментно подключенной внешней таблицей, отбор записей по такой куче полей без связи таблиц дело небыстрое даже для современной двухядерной машинки…

Следующая задача - научить Access отделять новые от модифицированных, уже проще, но опять же без опоры на поля [дата] и [ID].

Это я к чему - не представляю, как все это можно было сделать скриптами на сайте, когда навороченная и заточенная под эти задачи Access просаживает неслабую систему, получается путь синхронизации данных выбран правильно.

add

Проверка 1 этапа отбора Ок, Артем 19 записей (модификация/новые), по ЭР9Т-6050, ЭР9Т-731 не модифицировалась дата (правка прямо в таблице [?]), однако записи успешно отобраны как модифицированные, что есть гуд, по самим записям и изменениям чуть позже, сейчас важен механизм синхронизации, чтобы он работал без сбоев.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.

Последний раз редактировалось Zabor; 23.05.2010 в 18:38.
Zabor вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА