Обновление полей в форме Access после удаления строки

hruniki
Дата: 12.01.2012 13:25:19
Работаем с формой в режиме реального времени, источником данных в ней служит связная таблица.
После того как из таблицы едаляется строка, в форме тут же появляется Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...
Как сделать чтобы этой строки не появлялось?
Заранее спасибо.
studieren
Дата: 12.01.2012 13:27:47
hruniki,

А после удаления requery не пробовали?
hruniki
Дата: 12.01.2012 13:30:48
studieren
hruniki,

А после удаления requery не пробовали?


Если отработать командой "Requery", то при большом списке все опять перескочит на верхнюю строку, интересно что бы строка исчезала как бы в режиме реального времени, без сброса применненных фильтров и сортировки всего списка.
us!
Дата: 12.01.2012 13:56:51
это решаемо, но потребует прилино кода
здесь решение описывалось , поищи
Анатолий ( Киев )
Дата: 12.01.2012 14:02:45
hruniki
Если отработать командой "Requery", то при большом списке все опять перескочит на верхнюю строку, интересно что бы строка исчезала как бы в режиме реального времени, без сброса применненных фильтров и сортировки всего списка.

Вы удаляете или кто-то параллельно? Если вы сами, то лучше это делать командой Me.Recordset.Delete
Если другой юзер, то перед Requery можно запомнить запомнить ID текущей записи, а после обновления - найти и вернуться на нее.
Плюс к этому можно запомнить зачение SelTop, а затем разместить запись в том же месте на экране. Примеров можно нагуглить...
hruniki
Дата: 12.01.2012 14:03:23
us!
это решаемо, но потребует прилино кода
здесь решение описывалось , поищи

Вот бы ссылочку....
hruniki
Дата: 12.01.2012 14:06:33
Анатолий ( Киев )
hruniki
Если отработать командой "Requery", то при большом списке все опять перескочит на верхнюю строку, интересно что бы строка исчезала как бы в режиме реального времени, без сброса применненных фильтров и сортировки всего списка.

Вы удаляете или кто-то параллельно? Если вы сами, то лучше это делать командой Me.Recordset.Delete
Если другой юзер, то перед Requery можно запомнить запомнить ID текущей записи, а после обновления - найти и вернуться на нее.
Плюс к этому можно запомнить зачение SelTop, а затем разместить запись в том же месте на экране. Примеров можно нагуглить...

Удаляет другой пользаватель той же таблицы.
alvk
Дата: 13.01.2012 02:06:55
Анатолий ( Киев )
то перед Requery можно запомнить запомнить ID текущей записи


которую удалили?

Тогда уж id предыдущей.

Решение видимо может быть только в таймере. Вообще неоднократно уже писалось, что сам факт ручного удаления - результат неправильной ошибочной проектировки БД.
hruniki
Дата: 13.01.2012 16:31:21
alvk
Анатолий ( Киев )
то перед Requery можно запомнить запомнить ID текущей записи


которую удалили?

Тогда уж id предыдущей.

Решение видимо может быть только в таймере. Вообще неоднократно уже писалось, что сам факт ручного удаления - результат неправильной ошибочной проектировки БД.

Я согласен с мнением, но я дал тех задание для выполнения в виде вопроса, а не обсуждаю правильность или не правильность написания БД.
Пока что все на том же месте, пытаюсь что то сделать.
Таймером, опять же через реквери с запоминанием ID, это не то что нужно.
Вот описание процесса в конкретном случае:
"- есть три клиентских машины, на них работают менеджеры в клиентской части программы, есть один сервер на нем серверная часть программы, т.е. сама БД. (только данные), у трех менеджеров открыта одна и та же форма, которая представлена в примере. Админ удаляет из таблицы на сервере строку!!! и менеджеры видят как строка пропала в режиме реального времени, а не Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено...Удалено..."
Вот пример, хотелось бы найти решение.
Разговоры типа"- у вас что то не так работает или не корректно удаляется запись не интересны" , спасибо.
us!
Дата: 13.01.2012 18:06:31
alvk
Анатолий ( Киев )
то перед Requery можно запомнить запомнить ID текущей записи


которую удалили?

Тогда уж id предыдущей.

Решение видимо может быть только в таймере. Вообще неоднократно уже писалось, что сам факт ручного удаления - результат неправильной ошибочной проектировки БД.



запоминать не id а абсолютпозишен, ну и таймер. только надо не обновлять по таймеру, а проверять на изменение количества записей, или какой-то флаг в какой-то доп таблице. и при наличии изменения обновлять форму.

оптимально использовать эвент , но как прикрутить - хз.