|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Есть форма и присоединенная к ней таблица. Работа с данными идет через DAO. С этой формой работает только один пользователь, но обращения к ней идут с разных форм. В процессе работы вылетает сообщение: "Конфликт записи! Пока вы правили эту запись она была изменина другим пользователем ... " (на картинке) Как мне от этого сообщения избавиться? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2005, 15:13 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Обработать ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2005, 15:55 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Интересно, а как обработать эту ошибку? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2005, 18:06 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Да и у меня такая же фигня. Есть оболочка Access-ная с присоединёнными таблицами SQL Server. Так вот все таблицы модийицируются из Access нормально, но одна табл - ка заколдованная (вроде и 1-ичный ключ есть, и нет внешених связей), а при попытке модификации ее из Access лезет "Конфликт записей. Запись изменена другими пользователями", хотя пользователь -один я. И при модификации этой же табл из Enterprise Manager SQL Server всё проходит нормально без ошибок. В чём сермяхная правда? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2006, 11:29 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
а как отключить это сообщение ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2006, 07:44 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Та же фигня и у меня. Во всех таблицах все нормально редактируется и вставляется, но в двух никак не хочет и выдает эту ошибку. Из Enterprise Manager все ОК. Я уже пробовал и ограничения все убирать и связи удалял - ничего не помогает! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2006, 21:57 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Этот код (модуль формы) проблему решить не поможет, но упростит по крайней мере диалоговое окно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2006, 10:34 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
У меня такое было в следующем случае: открываю форму основанную на запросе или таблице с возможностью редактирования. Если Вы перешли в режим редактирования записи (на поле выделения записи появляется карандаш, а свойство формы OnDirty становится True . И если на основе выбранной записи вы открываете дополнительную форму для корректирования и пытаетесь в ней что-то изменить, то как раз и происходит описанный Вами случай. Несколько непонятно? Попробую по проще. Если у вас в программе две (или более) формы переведены в состояние редактирования и при этом работают с одной и той же записью ... или может быть так: когда вы пытаетесь изменить запись, которую уже меняете в другой форме. Тогда и появляется как раз и сообщение "Конфликт записи! Пока вы правили эту запись она была изменина другим пользователем ... " Как это разрулить, зависит от конкретной задачи. Может Гетц и поможет. Но скорее всего надо пересмотреть свои формы. Которая из них переходит в режим редактирования. Это, я считаю, ошибка программиста, и её надо искать и устранять. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2006, 11:26 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Вполне возможно, что в дело замешаны триггеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2006, 11:36 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Триггеры - это если работаешь с SQL Server, а если только Access, то они не причем. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2006, 11:56 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Триггеры - точно не при чем, они же выполняются на уровне базы при полном соблюдении концепции транзакций. А насчет этого сообщения - у меня оно тоже вылезает, когда я врубаю подчиненную форму и пытаюсь сохранить запись в главной. (Так пришлось сделать, потому что обрабатывать надо более 255 записей на одной форме, у меня 2 таблицы, повязанные по ключу + триггеры на одну из них для insert/delete в другую) В аксессе я не мастер, и не хочу им быть, это извращение, но тут вот приперло-надо! Если кто может помочь - ПОМОГИТЕ! До сдачи проекта меньше недели, горю совсем!!! Буду признателен, с моей стороны респект и уважуха, отвечу потом на любые вопросы! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2006, 12:55 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
у меня такая проблема была, буквально, вчера...долго вела разборки... и, выяснила, что проблема из-за не соответствия типа данных - access не понимал тип bit!!! поменяла тип, чем и избавилась от конфликта записи... Но, скорее всего ситуаций может быть много. И ответ нужно искать именно в данных!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2006, 05:39 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Такая ошибка, помимо описанных случаев, может появляться и при работе с одной формой. Если вы редактируете запись и не сохранив ее нажимаете, например, кнопку в которой происходит обработка этой записи, то Аксцесс думает, что эту запись вторично изменил кто-то другой, и выдает ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2006, 08:24 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Спасибо Svetusya! У меня была именно такая проблема. Сначала ругался код на C++ - понял, что дело с "битом". Потом и Access стал выделываться при переходе с локальной базы(мдб) на SQLServer. Девушку хвалю! Молодец! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2007, 13:59 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Небольшое добавление к ответу Svetusya (идея высказанная там мне помогла). Но Access понимает тип bit, он выводит ошибку, если поле этого типа в MS SQL null. Так что если вам нужны null в битовых полях меняйте тип, иначе задайте значение в имеющихся записях и определите значение по умолчанию. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2007, 16:40 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Я столкнулся с таким же сообщением при обновлении РАЗНЫХ полей ОДНОЙ и ТОЙ ЖЕ строки в единственной таблице. Обновление происходит через CurrentDb.Execute при щелчке по checkbox'ам (событие - After Update). так вот, как пишут вот здесь:http://www.thescripts.com/forum/thread554481.html, надо всего лишь обновлять источник записей для формы Me.Requery после каждого изменения и сообщение пропадёт!!! Только, естественно, помаргивать будет изображение формы при перезапросе данных из таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 14:41 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Я столкнулся с таким же сообщением при обновлении РАЗНЫХ полей ОДНОЙ и ТОЙ ЖЕ строки в единственной таблице. Обновление происходит через CurrentDb.Execute при щелчке по checkbox'ам (событие - After Update). так вот, как пишут вот здесь:http://www.thescripts.com/forum/thread554481.html, надо всего лишь обновлять источник записей для формы Me.Requery после каждого изменения и сообщение пропадёт!!! Только, естественно, помаргивать будет изображение формы при перезапросе данных из таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 14:49 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Svetusyaу меня такая проблема была, буквально, вчера...долго вела разборки... и, выяснила, что проблема из-за не соответствия типа данных - access не понимал тип bit!!! поменяла тип, чем и избавилась от конфликта записи... Но, скорее всего ситуаций может быть много. И ответ нужно искать именно в данных!!! Такой же касяк огромная спасибо за информацию ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2010, 17:47 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
boris_2005, Код: plaintext
Переделайте все эти обращения по другому. То есть упростите программу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2010, 18:25 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Ситуация аналогичная: Основная форма (много контролов)+ несколько подчиненных. Изменяем запись и нажимаем свою кнопку "сохранить". Если разные поля разных форм соответствуют определенным условиям,- в основной форме проставляем соответствующие флаги (forms!forma!flag = -1). (перед этим все флаги обнулив). Иногда возникает "runtime error (7878) данные были изменены". монопольный доступ, блокировка по умолчанию - отсутствует. В общем такая ошибка выходит 1 раз на проставление всех флагов и после останова - программа отрабатывает нормально На обнулении флагов ошибка не возникает. Между обнулением и проставлением обрабатываются рекордсетклоны подчиненных форм. Пересоздание файла не помогло. Ошибка пропадает, если непосредственно перед проставлением проблемного флага, в коде вставить doevents. Намекните пожалуйста, кто сталкивался - как отловить и вылечить эту ошибку, либо где упрощать. (Уже почти решился в обработке ошибок прописать эту фигню - но хотелось бы понять ее причину, поскольку неизвестно как она прявит себя на машинах пользователей.) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 16:56 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Спасибо за ответ. Но. Приведенные по ссылке методы для mdb не сработали оба. Если ставлю блокировку изменяемой записи или добавляю сохранение записи при отключении форм (как вместе так и по отдельности) - ошибка остается. Добавление doevents вроде бы приводит к устранению ошибки. Но мне почему-то кажется, что тут что-то не правильно... И у пользователей возможны сюрпризы... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 19:02 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
akcecc, у вас, не исключено, что-то нарушено в связи форма-таблица, например, в каком-н поле со списком неправильно указан присоединённый столбец... Как вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2016, 05:12 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
Не думаю, что в данном случае возможны какие-либо чудеса, поэтому: 1. всплывающее сообщение читал бы примерно так: "пока вы здесь правили эту запись, она уже была изменена, причем, вами же, только в другом месте (форме, рекордсете и проч..)" 2. ну а возможные косяки искал бы где-то здесь: akcecc Изменяем запись и нажимаем свою кнопку "сохранить". Если разные поля разных форм соответствуют определенным условиям,- в основной форме проставляем соответствующие флаги (forms!forma!flag = -1). ( перед этим все флаги обнулив ). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2016, 11:26 |
|
DAO: Конфликт записей
|
|||
---|---|---|---|
#18+
_гурД, э, спасибо за рекомендации. По всем контролам пробежался - багов не нашел. При включенном в коде doevents - все записи заносятся, изменяются, удаляются, флаги проставляются и сохраняются. Поэтому, если исключить чудеса - то можно предположить, что раз у меня нет багов - то и у пользователей не будет. Но что-то не верится что чудес не будет... Нестандартный костыль какой-то получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2016, 19:30 |
|
|
start [/forum/topic.php?fid=45&msg=33982660&tid=1613365]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 141ms |
0 / 0 |