2014-01-20 9 views
1

Я искал это онлайн часами без везения. У меня есть подчиненная форма, встроенная в мою основную форму. Источник записей подчиненной формы - результат SQL, основанный на некоторых пользовательских наборах критериев фильтрации в основной форме. После того, как пользователь нажимает «Поиск», данные заполняются в моей подчиненной форме. Большая часть его элементов управления затем привязана. Однако у меня также есть несвязанный элемент управления в моей подчиненной форме. Это несвязанное управление получает данные из отдельного SQL, основанного на значениях моих других значений элементов управления. Все в моей подчиненной форме представлено в виде таблицы данных.Экспорт из базы данных подсистемы доступа, включая исходный источник управления

Теперь я хотел бы спроектировать функцию «экспорта», которая позволяет пользователю сохранить текущий результат поиска в моем описании подформата в файл Excel. Я пробовал следующие способы:

Это только дает мне заголовок моей подформы без каких-либо данных.

Я также попытался использовать функцию CopyFromRecordset. Однако, как я уже упоминал, у моей подформы есть один элемент управления, который не связан с источником записи подформы. Я могу хранить объект SQL и делать CopyFromRecordset, но это дает мне только данные из ограниченных элементов управления.

Большое спасибо.

+0

Вы, безусловно, вызываете функцию OutputTo после выполнения запросов? и данные находятся в представлении таблицы данных при запуске? – JMG

+0

@JMG Да, определенно. У меня уже были данные, показанные в моей подформе. Это делается после того, как пользователь нажимает кнопку «Поиск». Затем можно нажать кнопку «Экспорт». – got2nosth

ответ

0

Я думаю, что я получил эту работу - и с Unbound поле

  1. Ниже приведен синтаксис (очевидно, изменить путь вывода): DoCmd.OutputTo acOutputForm, [Формы] [Main_form]!. Форма. [Subform_XXX] .Name, acFormatXLS, «C: \ temp \ exportSub.xls»
  2. Выходной файл XLS имеет 4 столбца, включая содержимое Unbound.

Good Luck, Wayne

+0

спасибо за помощь. Это дает мне столбец несвязанного управления, но, как я уже упоминал, есть только заголовок, экспортированный без данных. Я предполагаю, что это потому, что исходный материал моей подчиненной базы изначально пуст. Он устанавливается во время выполнения после того, как пользователь нажимает кнопку «Поиск». Я не знаю, почему источник записей не сохранялся, когда пользователь позже нажимает кнопку «Экспорт». – got2nosth

+0

Мой плохой! Я только заметил, что я поместил «литерал» в несвязанное поле. Просто для подтверждения, вы знаете, что любое изменение в несвязанное поле на непрерывных формах изменит все строки на одно значение? Это то, что вы хотите, или вы хотите иметь другое значение для каждой строки? В зависимости от пользовательских интерфейсов вы можете просто добавить столбец «work» в таблицу, а затем очистить его, когда Access откроет форму; затем привязать столбец «работа» к подформе? –

+0

Да, я знаю об этом. Мое несвязанное поле обновляется другими полями в той же строке. Я сделал это, установив источник управления несвязанного поля в функцию, которая запускает SQL на основе значения двух других связанных полей в форме. Я не уверен, как здесь можно реализовать столбец «работа». Не могли бы вы объяснить дальше? – got2nosth

0

вы можете использовать MultiLevelExporter инструмент/надстройка для MS Access для этого. Он может экспортировать данные Subform, включая данные несвязанного управления Subform в MS Excel. Norbert

Смежные вопросы