Я хочу сохранить производительность своей базы данных вверху, уменьшая количество объектов и создавая материал только временно. У меня есть таблица, которая должна быть автоматизирована с кода:Удалить таблицу в отчете с небольшой задержкой
Существует отчет, который нуждается в данных из этой таблицы - (работает отлично), так что это поток:
'-> form is opened -> onClick find-button
'-> table of dates is created -> table of dates is populated
'-> Report is opened -> onReportClose (I want the table of dates to be deleted).
Код написан, он отлично работает сам по себе:
CurrentDb.TableDefs.Refresh
DoCmd.DeleteObject acTable, "temp-table"
Поэтому я добавил макрос в отчете, чтобы запустить приведенный выше код: это функция. Но я получаю ошибку ниже:
ошибка времени выполнения «3211»: Двигатель базы данных не может заблокировать таблицу «ТЕМП-таблица», потому что она уже используется другим человеком или процесса.
Я считаю, что это потому, что отчет, вероятно, использует его. Поэтому я добавил задержку в десять секунд, чтобы мой код:
Dim PauseTime As Variant
Dim Start As Variant
Dim Elapsed As Variant
PauseTime = 10
Start = Timer
Elapsed = 0
Do While Timer < Start + PauseTime
Elapsed = Elapsed + 1
Loop
CurrentDb.TableDefs.Refresh
DoCmd.DeleteObject acTable, "temp-table"
Вместо этого, кажется, держит всю базу данных в течение 10 секунд и тот же вопрос все еще происходит. Любые идеи/предложения о том, как удалить эту таблицу в отчете закрыть или принудительно удалить таблицу в Ms-Access (возможно?) Или как обойти это, приветствуются.
В MS Access создание и удаление таблиц вызовет массовое раздувание. У вас нет пути? Лучше даже очистить стол. – Fionnuala
Должен ли вы отказаться от таблицы или отбросить ее содержимое при закрытии отчета? Если это не является абсолютным требованием, вы можете иметь дело с таблицей ('DROP' или' DELETE') непосредственно перед заполнением * таблицы дат * * шагом в вашем рабочем процессе. – HansUp
Я сделал проверку в моей функции create table. он проверяет, существует ли таблица и ее удаляет. Я хочу отказаться от содержимого, поэтому в моей базе данных нет этой таблицы 24/7. Я хочу это в определенное время @HansUp –