|
|
|
| Подскажите плиз, проблема уже меня добили! Есть база в ней набивали счета по кафе, всё бы хорошо - но шеф достроил 2 зал и сказал поставить там 2 комп. Я разделил базу данние отдельно интерфейс отдельно, данние оставил на 1 компе а на 2 интерфейс соеденил с первим.
НО появилась большая проблема когда на 1 компе создали счёт №5(номеруеться автоматом) то на втором компе база ёще не обновилась и при создании нового счёта тоже номерует №5.
В базе получаеться конфликт 2 счёта под №5
подскажите чайнику пожайлуста как решить эту проблему. | |
|
| |
|
|
|
| Если в базе 2 используются связанные таблицы, то данные в таблицы попадают сразу после сохранения.
В любом случае проблема в вашей фунцкии нумерации. Вы должны учитывать, что с момента как Вы сгенерировали новый номер до того момента как Вы сохранили запись возможно на другом рабочем месте сделали ту же операцию.
Решений несколько:
-Генерите номер в момент сохранния, а не в момен создания новой.
-В момент создания документа, отмечайте в служабной общедоступной таблице, что какой-то номер уже занят, и вычисляйте новый номер с учетом этого. ОТлько в этом случае возможны пропуски если документ не сохранят.
- Используйте составную нумерацию Х-Y, где X это номер счета, а Y номер зала в котором он выписан
- Если пропуски в нумерации не страшны, то используйте счетчик... | |
|
| |
|
|
|
| >Решений несколько:
>-Генерите номер в момент сохранния, а не в момен создания
>новой.
Извините а как програмно(VBA) сохранить запись? | |
|
| |
|
|
|
| Что значит сохранить?
Если в форме после начала редактирования?
if me.Dirty then me.Dirty = false
|
| |
|
| |
|
|
|
| я помню такое случалося когда долго идёт процесс составления счёта,
влезает второй и у него естественно максимальный номер такой же
и вот кто вперёд нажмёт готово.... | |
|
| |
|
|
|
| я как только кто-то начинает создавать новый счет в табличку занято заношу значение =1
как тока готово заношу туда =0
и когда кто то собирается создавать новый заказ то сначала проверяется не заня-то ли и если занято либо номер счёта+2 либо сообщение подождите.... | |
|
| |