Как автоматически обновить отчет в доступе со связанным набором данных? - PullRequest
3 голосов
/ 24 января 2009

У меня есть одна запись вывода из таблицы парадоксов, которая импортируется в Access. Теперь я создал отчет и сделал привязку данных в отчете к набору данных из Paradox. Когда работа завершена в Paradox, вывод одной записи меняется ... Как открыть доступ и автоматически обновлять значения из отчета без необходимости повторного импорта таблицы вручную?

Цель состоит в том, чтобы при открытии доступа отчет сразу же появлялся для проверки перед печатью.

Ответы [ 4 ]

3 голосов
/ 24 января 2009

Используйте связанную таблицу вместо импорта данных (предполагается, что поставщик для парадокса доступен, что вероятно ).

0 голосов
/ 25 января 2009

В режиме конструктора отчета перейдите на страницу свойств и вкладку «Событие». Найдите событие On Load и нажмите кнопку elipsis. Выберите Code Builder, если он представлен в диалоговом окне Choose Builder. Это приведет вас в редактор VBA в событии Report_Load. Изменить, чтобы выглядеть примерно так:

Private Sub Report_Load ()

DoCmd.TransferDatabase acImport, "Paradox 7.x", "c:\yourdata\yourfile.tbl", acTable, "SourceTable", "YourAccessTable"

End Sub

Я не уверен в специфике версии Paradox, в соглашении об именах файлов и т. Д. (Я только немного поработал с Paradox и не помню его специфику). Посмотрите на intellisense или наведите курсор на TransferData и нажмите F1, чтобы получить справку для метода TransferDatabase для справки.

Перед оператором TrasferDatabase вы можете запустить что-то вроде:

CurrentDb.Execute "DELETE FROM TableName"

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

0 голосов
/ 24 января 2009

Связать таблицу с файлом Paradox через GetData в меню. Вы выбираете файл из каталога маршрутов, где находятся ваши db-файлы, и выбираете. Сохраните связь и свяжите отношения даты с набором данных. При обновлении с использованием базы данных Paradox обновятся и таблицы в Access. Вы не должны запускать БД и получать доступ одновременно, иначе реактивный двигатель не будет работать.

0 голосов
/ 24 января 2009

Прямая связь с таблицей Paradox должна работать. Способ сделать то, что вы просили, автоматизируя импорт, - запустить DoCmd.TransferDatabase в макросе autoexec или в событии OnLoad вашего отчета. Возможно, вы захотите начать с запроса на удаление, чтобы сбросить таблицу тоже.

...