Синхронизация форм при удалении записи

Wallaby
Дата: 21.02.2008 10:11:25
Грипп продолжает и выигрывает. Т.е. поможите кто может, голова работает плохо, заранее извиняюсь за тупизну. :-(

Дано: несвязанная форма, на ней две подчиненных, основанных на одной и той же таблице. Верхняя - ленточная, нижняя - одиночная; в верхней - только основные поля, в нижней - просмотр всей информации. На переходе по записям ленточной висит Requery одиночной.

Проблема: при удалении записи в ленточной во всех полях одиночной появляется надпись #Удалено, и никакие переходы по записям и никакие Requery делу не помогают. Только закрытие основной формы и повторное ее открытие, что не есть выход из положения.

Вопрос: как решить проблему.

Запретить удаление записей из ленточной можно, конечно, но это тоже не выход. :-(
sdfgsdfgsdf
Дата: 21.02.2008 10:16:01
Перед удалением (Before_Delete) - снимать RecordSource c второй формы и реквери, когда удаление произведено, на событие After_Delete - опять поставить назад RecordSource и реквери
Анатолий ( Киев )
Дата: 21.02.2008 10:37:37
автор
На переходе по записям ленточной висит Requery одиночной.
Как вы это делаете? А, главное, зачем? Requery второй форме нужно делать только после добавления или удаления в первой. Иначе - просто синхронизировать. Как связаны субформы с главной?

Для вашего случая (если не А97) дядюшка Гетс советует присваивать свойству .Recordset второй формы это св-во первой.
sdfgsdfgsdf
Дата: 21.02.2008 10:42:24
Анатолий ( Киев )
автор
На переходе по записям ленточной висит Requery одиночной.
Как вы это делаете? А, главное, зачем? Requery второй форме нужно делать только после добавления или удаления в первой. Иначе - просто синхронизировать. Как связаны субформы с главной?

Для вашего случая (если не А97) дядюшка Гетс советует присваивать свойству .Recordset второй формы это св-во первой.


Анатолий, это делается для того - шоб в линеечку не заваливать все поля ! (ибо из будет много и горизонтально крутить постоянно список записуе оч. утомляет и дизореентирует.) Сам так делал.
дедушка гетц конечно правельно советует - но тот его совет немного не к этой задаче.
Wallaby
Дата: 21.02.2008 11:11:42
sdfgsdfgsdf
Перед удалением (Before_Delete) - снимать RecordSource c второй формы и реквери, когда удаление произведено, на событие After_Delete - опять поставить назад RecordSource и реквери


На попытку снять RecordSource со второй формы - "Run-time error 438: object doesn't support this property or method"
sdfgsdfgsdf
Дата: 21.02.2008 11:13:43
Кусок базы в студию. (чё то у вас наверное оч заусно всязи накручены)
sdfgsdfgsdf
Дата: 21.02.2008 11:14:02
тьху... заумно :)
Wallaby
Дата: 21.02.2008 11:21:56
Анатолий ( Киев )
автор
На переходе по записям ленточной висит Requery одиночной.
Как вы это делаете? А, главное, зачем? Requery второй форме нужно делать только после добавления или удаления в первой. Иначе - просто синхронизировать. Как связаны субформы с главной?


Субформы с главной не связаны. Главная - не связана с данными. Просто контейнер для субформ.

Синхронизировать без Requery - как лучше?

Но в любом случае тут речь идет именно об удалении.
Программист-Любитель
Дата: 21.02.2008 11:25:34
Set Me.frm2.Form.Recordset = Me.frm1.Form.Recordset
- будут всё время очень синхронизированы.
sdfgsdfgsdf
Дата: 21.02.2008 11:31:12
Wallaby
Анатолий ( Киев )
автор
На переходе по записям ленточной висит Requery одиночной.
Как вы это делаете? А, главное, зачем? Requery второй форме нужно делать только после добавления или удаления в первой. Иначе - просто синхронизировать. Как связаны субформы с главной?


Субформы с главной не связаны. Главная - не связана с данными. Просто контейнер для субформ.

Синхронизировать без Requery - как лучше?

Но в любом случае тут речь идет именно об удалении.


А промежуточное поле для связки не исполбзуешь ?