Как перестроить исходные таблицы активной формы? - PullRequest
1 голос
/ 19 апреля 2011

У меня есть форма доступа, исходные данные которой составляют 2 таблицы, назовем их TblA и TblB. Эта форма имеет элемент управления, который должен:

  1. Захватить некоторые новые данные от пользователя в 3-ю таблицу.
  2. Выполните запросы maketable, воссоздающие TblA и TblB с новыми данными.
  3. Запрос и обновление формы.

Однако я столкнулся с проблемой. Запросы в maketable не выполняются. Я предполагаю, что это потому, что у меня есть открытая основная форма. Вот фрагмент кода:

Dim AccDB As New Access.Application
AccDB.OpenCurrentDatabase DbLoc
AccDB.DoCmd.OpenQuery "TblA-Rebuild"
AccDB.DoCmd.OpenQuery "TblB-Rebuild"
Forms("Frm").Requery

Мой вопрос: как переписать этот процесс, чтобы успешно перестроить эти таблицы?

Ответы [ 2 ]

3 голосов
/ 19 апреля 2011

Кроме того, я бы предложил вместо повторного создания таблиц использовать запрос на удаление, чтобы очистить содержимое, а затем запрос на добавление, чтобы снова заполнить таблицу.Нет конфликтов с используемой таблицей, и вы не потеряете настройки таблицы, такие как индексы или свойства, специфичные для полей.

0 голосов
/ 19 апреля 2011

Я бы встроил вашу существующую форму в подчиненную форму, которая не привязана к таблице. Затем вы можете закрыть подчиненную форму, пока вы переделываете таблицы, и снова открыть ее.

...