Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Конфликты реплик после синхронизации...  [new]
ByKiS
Member

Откуда:
Сообщений: 3760
Есть реплика (назовём её) management c Priority=80, куда вводятся новые заказы, перед синхронизацией всем заказам присваевается статус "отправлен". И реплика production (priority=90), с которой распечатываются заказы на производство и всем распечатанным заказам присваевается статус "на производстве". Соответственно после очередной синхронизации возникает конфликт: одной и той же записи разные реплики присвоили разные значения "отправлен" и "на производстве", победил "на производстве".
Как решаются такие проблемы? Где можно почитать? Подскажите, спасибо.
15 фев 07, 14:22    [3790368]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
sdfgsdfgsdf
Member

Откуда:
Сообщений: 5996
Нужно верно строить базу, если уж она будет использоватся в репликации, то надо избавлятся от методов UPDATE по минимуму, и строить базу так, что бы вся информация была в разрезе времени вознекновения, т.е. я б для таблици "Закази" зделал бы таблицу "ИсторияСтатуса" с полями КодЗаказа, Дата и Время, Код Статуса. и там бы методом добавления записывалась история статуса заказа . При таком способе конфликты были бы минимизированы.
15 фев 07, 15:05    [3790814]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
ByKiS
Member

Откуда:
Сообщений: 3760
А как тогда выбрать принятые, но не отданные на производство заказы заказы? По такому принципу? Или я не так понял?

tblOrders
OrderID
1
2


tblStatus
Ids OrderId Status Date
11"Принят"2007.2.10 16:45:37
21"На производстве"2007.2.11 8:39:40
32"Принят"2007.2.10 16:40:27


qwrOrdersStatus
SELECT LastStatus.OrderId, tblStatus.Status
FROM [SELECT tblStatus.OrderId, Last(tblStatus.Date) AS LastOfDate
FROM tblStatus GROUP BY tblStatus.OrderId]. AS LastStatus
INNER JOIN tblStatus ON (LastStatus.LastOfDate = tblStatus.Date) AND (LastStatus.OrderId = tblStatus.OrderId);

Какой-то слишком мудрёный и слишком сложный вариант...
15 фев 07, 18:22    [3792615]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
ByKiS
Member

Откуда:
Сообщений: 3760
Так шо? По такому принципу переделывать надо или я тут намудрил? Принцып сам хороший, но даже если базу, состоящую только из этих двух вышеупомянутых таблиц, заполнить 500000 и 1500000 записями соответственоо - скорость жутко медленная... Хотелось бы вариант не столь затормаживающий.
19 фев 07, 11:16    [3803831]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
ByKiS
Member

Откуда:
Сообщений: 3760
А как избежать того, что у кого-то может быть дата в компе левая? Кажется по датам тоже ни к чему хорошему не приведёт...
5 мар 07, 10:26    [3861765]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
ByKiS
Member

Откуда:
Сообщений: 3760
Видать никак, тогда может тут подскажите?
Была такая таблица
ЗаказСтатус...
1Принят...
2На производстве...
и использовал я её как источник записей для форм ввода заказов. Подскажите по какому принципу теперь делать?
Проблема такая - на форме как-то надо видеть статус заказа и соответственно разрешать или запрещать редактирование. Как можно сделать запрос, чтобы подставить его в источник записи и он был обновляемым?
5 мар 07, 13:04    [3863029]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
ByKiS
Member

Откуда:
Сообщений: 3760
>Программист-Любитель

Вот ты там схему смотрел, а про тутощняю мою проблему ничего не сказал. Может подкинешь идею с этой грёбаной историей статуса? Не нравиться мне как я придумал...
6 мар 07, 17:18    [3871294]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Не совсем понял вопрос.
Сделать форму редактируемой можно использовав Dmax в источнке данных полей.

Может можно сделать справочник статусов с информацией кто какой перебивает. Тогда, подцепив его к основной таблице фактов можно будет выбрать по самому перебивающему.

Можно сделать кнопки изменения статуса заказа над вложенной субформой и при нажатии ее генерить "UPDATE ... WHERE ..." - тогда редактируемость формы будет по-фигу.
6 мар 07, 17:44    [3871496]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
ByKiS
Member

Откуда:
Сообщений: 3760
Да не - мне не даёт покоя сам принцип, который я тут 15 фев 07, 18:22 описал...
Или это нормально выглядит и зря не сплю? ;)
6 мар 07, 17:52    [3871545]     Ответить | Цитировать Сообщить модератору
 Re: Конфликты реплик после синхронизации...  [new]
ByKiS
Member

Откуда:
Сообщений: 3760
Гляньте сюда, а?
7 мар 07, 13:48    [3875148]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить