2015-04-23 4 views
2

Оглядывался везде за помощью; Я не могу поверить, что его невозможно решить:MS Access 2007; извлечение данных из пользовательской уточненной подформы

Сценарий: У меня есть несвязанная подформация, которая отображает данные в таблице данных. Пользователь выбирает отчет для отображения из поля со списком, и запрос генерируется «на лету», а затем отображается в подформе. Затем пользователь может экспортировать отчет (из запросаdef) в файл формата xlsx для распространения среди своих коллег. Все работает хорошо.

Однако пользователь также уточняет данные в техническом описании, выбирает и сортирует с помощью элементов управления столбцами. Возникает вопрос: как экспортировать уточненные данные?

Я был бы очень признателен за любую помощь. Спасибо

ответ

0

Все выбор и сортировка таблицы данных хранятся в свойстве me.filter подформы.

Итак, вы берете фильтр и передаете его в отчет. Вы можете использовать фильтр так же, как нормальное предложение WHERE SQL-запроса.

[имя элемента управления подчиненной формы контейнера в виде хоста] .Form.Filter = где положение

EDIT: Вот код, который вы используете в основной форме предпочтительн в процедуре что начало работы с отчета:

dim strWHERE As String 

strWHERE = Me.subform.Form.Filter 
docmd.OpenReport "YourReport", , , strWHERE 

Pls дает нам обратную связь, если он работает.

+0

Благодарим вас за ваш быстрый и продуманный ответ. К сожалению. Кажется, я не понял. Вы говорите, что уточнение пользователя сохраняется в фильтре субформ. Поэтому я могу получить к нему доступ, обратившись к этому фильтру: как в «whereClause = me! MySubForm.Form.Filter»? Я получаю эту ошибку 2455: «Вы ввели выражение, которое имеет недопустимую ссылку на свойство Filter» –

+0

Возможно ли, что когда вы попробовали, у вас был * никакой фильтр *, поэтому не может быть ссылки? В этом случае сначала нужно проверить, есть ли фильтр. – EliteRaceElephant

+0

Спасибо @memerp, теперь он работает (мне пришлось перезагрузить форму для того, чтобы код повлиял). Он не принимает никакого уведомления о заказе, но я могу жить с этим. Примите мою благодарность (и без ведома им, благодарность одной из крупнейших телекоммуникационных компаний мира) –