Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обновление данних по сети Ассеss XP
 
 автор: Сергей777123   (22.11.2007 в 00:11)   личное сообщение
 
 

Подскажите плиз, проблема уже меня добили! Есть база в ней набивали счета по кафе, всё бы хорошо - но шеф достроил 2 зал и сказал поставить там 2 комп. Я разделил базу данние отдельно интерфейс отдельно, данние оставил на 1 компе а на 2 интерфейс соеденил с первим.

НО появилась большая проблема когда на 1 компе создали счёт №5(номеруеться автоматом) то на втором компе база ёще не обновилась и при создании нового счёта тоже номерует №5.
В базе получаеться конфликт 2 счёта под №5
подскажите чайнику пожайлуста как решить эту проблему.

  Ответить  
 
 автор: osmor   (22.11.2007 в 08:48)   личное сообщение
 
 

Если в базе 2 используются связанные таблицы, то данные в таблицы попадают сразу после сохранения.
В любом случае проблема в вашей фунцкии нумерации. Вы должны учитывать, что с момента как Вы сгенерировали новый номер до того момента как Вы сохранили запись возможно на другом рабочем месте сделали ту же операцию.
Решений несколько:
-Генерите номер в момент сохранния, а не в момен создания новой.
-В момент создания документа, отмечайте в служабной общедоступной таблице, что какой-то номер уже занят, и вычисляйте новый номер с учетом этого. ОТлько в этом случае возможны пропуски если документ не сохранят.
- Используйте составную нумерацию Х-Y, где X это номер счета, а Y номер зала в котором он выписан
- Если пропуски в нумерации не страшны, то используйте счетчик...

  Ответить  
 
 автор: Сергей777123   (24.11.2007 в 19:39)   личное сообщение
 
 

>Решений несколько:
>-Генерите номер в момент сохранния, а не в момен создания
>новой.
Извините а как програмно(VBA) сохранить запись?

  Ответить  
 
 автор: osmor   (25.11.2007 в 19:56)   личное сообщение
 
 

Что значит сохранить?
Если в форме после начала редактирования?

if me.Dirty  then me.Dirty = false

  Ответить  
 
 автор: час   (25.11.2007 в 22:52)   личное сообщение
 
 

я помню такое случалося когда долго идёт процесс составления счёта,
влезает второй и у него естественно максимальный номер такой же
и вот кто вперёд нажмёт готово....

  Ответить  
 
 автор: час   (25.11.2007 в 22:55)   личное сообщение
 
 

я как только кто-то начинает создавать новый счет в табличку занято заношу значение =1
как тока готово заношу туда =0
и когда кто то собирается создавать новый заказ то сначала проверяется не заня-то ли и если занято либо номер счёта+2 либо сообщение подождите....

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList