Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Синхронизация таблиц / 11 сообщений из 11, страница 1 из 1
15.01.2003, 15:11
    #32091217
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
Такая проблема старый вариант БД на Fox'e одну из её частей я переделываю и т.к. переходный период может затянуться надо синхронизировать записи старой и новой версий одной единственной таблицы у меня не хватает мыслей по данному поводу может подскажете

Код: plaintext
1.
Старая таблица
VARIANT | MODEL | MATERIAL | RASHOD

Код: plaintext
1.
Новая таблица
Variant | Model | Material | Quanty


что самое поганое - синхронизировать надо в обе стороны и по всем полям:((

может кто поделиться запросами/ссылками
...
Рейтинг: 0 / 0
15.01.2003, 16:21
    #32091284
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
т.е. в обе стороны???
...
Рейтинг: 0 / 0
15.01.2003, 16:24
    #32091290
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
т.е. при открытии апдейтить Access'овскую таблицу
при закрытии dbf'овскую
...
Рейтинг: 0 / 0
15.01.2003, 16:44
    #32091312
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
=)))))))) так не вижу проблем...
1) при открытии Аксесса.. убиваете все строки в Новая таблица
2) заливаете всё содержимое Старая таблица
3) работаете...
4) при закрытии сливаете всё в Старая таблица
...
Рейтинг: 0 / 0
15.01.2003, 17:03
    #32091316
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
проблема в том что и с той и с другой таблицей могут работать люди в любой момент времени

Больше интересуют запросы каторыми можно всё это провернуть, или скажем так узнать какие записи изменились одним запросом,а какие добавились вторым и на основе этих запросов я уж придумаю чо сделать.
...
Рейтинг: 0 / 0
15.01.2003, 17:30
    #32091345
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
постоянно работающая??? обновлять =(((((
добавьте поле в фоксовскую таблицу типа булеан и тоже в аксесовскую.
дальше создать табл3 точно такую же + поле Юзер
дальше я бы скажем сделал формочку которая просматривает (по таймеру) фоксовскую базу и сливает от туда в таблицу3 записи, у которых булевское поле =0, и помечает все! записи -1.
тоже самое из аксесса.
а потом идёт синхронизация назад
если есть ася... 131711324
...
Рейтинг: 0 / 0
15.01.2003, 17:38
    #32091349
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
рекодинг фоксовской таблицы никто делать не будет и мне (хоть я и не умею) не даст.
Неужели нельзя сделать запрос который бы выдавал все не совподающие записи по 4м полям (упс), Правда мне самому до этого не допереть.
...
Рейтинг: 0 / 0
15.01.2003, 18:06
    #32091385
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
я бы завязал всё на одну таблицу... допустим на фоксовую, если она чаще используется.... сейчас расскажу
1) есть табл. 3
2) при открытии... очищаем табл3
3) заливаем всё из фокса (что бы пользователь видел чего есть
4) в аксессе добавляем все записи в табл2!!!
5) при выходе... всё из табл2 добавляем в фокс...
6) если юзер правит запись... коннектимся.. к фоксу.. и удаляем её (выбор одной записи по 4 параметрам), и добавляем запись в табл2 . дальше пункт 5
ну по-моему всё.... да.. при удалении записи в фоксе.. коннектимся к фоксу и удаляем запись..
...
Рейтинг: 0 / 0
16.01.2003, 09:34
    #32091574
Savik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
А почему нельзя работать со связанными таблицами? Тогда будет всего один экземпляр данных, никакой синхронизации не надо. После завершения переходного периода слить таблицы в акцес и вместо связанных использовать родные.
...
Рейтинг: 0 / 0
16.01.2003, 09:44
    #32091581
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
Просто основная проблема обновления данных по направлению dbf => Access, т.к. dbf заполняют из Fox'a, а эту прогу никто не будет переделывать и мне не дадут. Да и надо оставить возмлжность изменять/добавлять/удалять данные из Fox'a и Access'а, может я конечно чего то не понял... если это так то поясните
...
Рейтинг: 0 / 0
16.01.2003, 11:26
    #32091652
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц
Применил LEFT JOIN типа
Код: plaintext
1.
2.
3.
SELECT DISTINCTROW TempSourse.Variant, TempSourse.Model, TempSourse.Number, TempSourse.Quanty
FROM TempSourse LEFT JOIN Rash_PTemp ON (TempSourse.Quanty = Rash_PTemp.SumOfRASHOD) AND (TempSourse.Number = Rash_PTemp.NOMER) 
AND (TempSourse.Model = Rash_PTemp.MODEL) AND (TempSourse.Variant = Rash_PTemp.VARIANT)
WHERE (((Rash_PTemp.MODEL) Is Null) AND ((Rash_PTemp.VARIANT) Is Null) AND ((Rash_PTemp.NOMER) Is Null) AND ((Rash_PTemp.SumOfRASHOD) Is Null));


Т.к. я соединяю таблицы по всем полям => все изменёные поля будут - новыми, т.е. я дописываю новые в более старую таблицу, затем удаляю оттуда поля которых нет в более новой таблице.

Вот такую пЯтрушку я придумал, если не влом посмотрите вдруг где я ошибаюсь в рассуждениях.

Ну и если предложете более изящный вариант буду рад
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Синхронизация таблиц / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]