Надо ли самому закрывать подобный рекордсет при закрытии формы (которая открыта из другой формы)?
Вопрос не так очевиден. Если DataGrid в этот момент находится в режиме редактирования записи, при попытке закрыть рекордсет могут возникать ошибки, что неприятно.
На мой вгляд есть три способа решения проблемы:
1. Не закрывать рекордсет вообще при закрытии формы (но закрыть его перед повторным заполнением)
2. Закрывать рекордсет по событию Form Terminate (Которое надо ещё заставить произойти, см. пример)
3. Заставить DataGrid отключиться от рекордсета принудительно (я использовал отправку сообщения WM_CLOSE)
Посмотрите присоединённый пример и давайте его обсудим.
(В примере подключение - к SQL Server, но можно переделать и под Access(как - в примере указано); разницы я не заметил)