| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Access > Синхронизация Access |
| Автор: IRQ 21.5.2007, 21:11 |
| Пишу в институт программу. Что-то типа документооборота. Выбрал Delphi+MS Access+ADO. Всё ничего но есть проблемы связанные с одновременной работой. Хотел бы узнать как её организовать в Access и реально-ли это вообще? Может стоит поменять базу на SQL Server например? Задача состоит в том чтобы товарная база велась правильно. То етсь простейший пример-2 заказа на продажу. 2 менеджера. Каждый выбирает по 100 единиц товара в то время как на складе есть всего 150. Очевидно будет заказано 200 единиц из 150 возможных. Решить эту проблему мне не удалось. Access просто не успевает обновить что-ли. Не знаю даже. Я поставил перепроверку в начале добавление нового заказа. Но эта перепроверка выдаёт старые результаты если заказы выполнять почти одновременно. Из-за этого появляется косяк в базе. Работа преподлагается по сети. Просто обычным расшариванием папки с базой по NetBIOS. При работе везде использую TADOQuery с LockType = Optimistic. Пробовал Pessimistic, ReadOnly но не помогает. Есть-ли выход из этой ситуации? А то времени мало уже. Не хочется попадать в неприятности. Искал на форуме похожие темы. Не нашёл. нашёл только то, что автор решил проблему сам а как не написано |
| Автор: Akina 21.5.2007, 21:57 |
| Следует использовать блокировку изменяемой записи или даже изменяемой таблицы. |
| Автор: IRQ 21.5.2007, 22:18 |
| А как это сделать? Я почитал. нашёл вот про LockType. Но не помогло. |
| Автор: IRQ 22.5.2007, 00:08 |
| То есть единственный выход из ситуации это использовать LockBatchOptimistic? И при конфликте ошибки не будет а просто запрс будет проигнорирован. Я правильно понял? Или поменять CursorLocation? Как это влияет на работу? |
| Автор: Akina 22.5.2007, 11:06 |
| Нет, АБСОЛЮТНО неверно. Озаботьтесь все-таки чтением справки по вопросу. Без понимания сути решения не найти имхо. |