У меня есть довольно сложная база данных MS-Access (2013) с основной формой. Они содержат 6 основных списков подформ (A). Каждая подчиненная форма имеет собственную единую форму (B), позволяющую пользователю редактировать каждую запись.
Поскольку у меня иногда возникает ошибка 3048: невозможно открыть больше баз данных, я установил для всех подчиненных форм (A) моментальный снимок, как рекомендуется в следующем сообщении:
Получение ошибки 3048: больше не удается открыть базы данных
Это решает мою текущую проблему (ошибка 3048), но добавляет новую:
Когда я редактирую запись (в одной форме (B)) я хочу обновить данные в основной подчиненной форме (A).
Есть ли у вас какие-либо идеи о том, чтобы иметь удобное для пользователя поведение и обновление данных одновременно?
Спасибо за вашу поддержку.
Итак, подчиненная форма и подчиненная форма имеют один и тот же источник данных? Вы пытаетесь подражать раздельной форме? Не тот дизайн, который я когда-либо использовал. Возврат к записи после обновления/запроса включает в себя сохранение идентификатора записи в глобальной переменной или TempVar или в несвязанном текстовом поле, а затем обращение к этому объекту в VBA для использования этого идентификатора. Проверить stackoverflow.com/questions/2426371/…
Рассмотрите возможность изменения общего дизайна формы. Нужно ли, чтобы все данные о подчиненных формах были сразу доступны на главной форме? Возможно, рассмотрите возможность создания других всплывающих/сопутствующих форм для некоторых данных. Это не решит конкретную проблему, которую вы упомянули, но может уменьшить потребность в специальных конфигурациях запроса «Снимок», которые приводят к такому нежелательному поведению.
Я наконец удаляю половину подчиненной формы в основной форме. Это решает проблему с памятью. Затем я смог сделать все подчиненные формы Recordsettype динамическими, а не снэпшотами. Спасибо Си Перкинс за ваш совет.
Я также пробовал: DoCmd.GoToRecord acDataForm, FormA.SubFormB, acGoTo, 7, но он возвращает ошибку.