![]() |
![]() |
|
Результаты опроса: Нужна ли локальная версия БДПС (Microsoft Office Access)? | |||
Да, постоянно обновляю и пользуюсь |
![]() ![]() ![]() ![]() |
18 | 30.51% |
Нет, Online вполне достаточно |
![]() ![]() ![]() ![]() |
21 | 35.59% |
Пользуюсь и той и другой |
![]() ![]() ![]() ![]() |
20 | 33.90% |
Голосовавшие: 59. Вы ещё не голосовали в этом опросе |
|
Опции темы | Опции просмотра |
![]() |
#11 |
Разработчик
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,938
Вы сказали Спасибо: 11,499
Поблагодарили 10,291 раз(а) в 3,846 сообщениях
![]() |
![]()
Задачка оказалась не так проста =)), дело в том, что мы не можем связать новую и старую таблицы не по одному полю, включая 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. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
|
![]() Что это? |