2015-06-10 2 views
2

Я снова пытаюсь сделать что-то сумасшедшее. Я хотел бы использовать эту строку кода:Доступ: установка исходного объекта на другой путь к исходному объекту

Reports![PrntRep].SourceObject = Forms![Search Form]!Subform1.SourceObject 

Источник объект subform1 динамически в зависимости от которой запроса вам нужно искать. Я хочу, чтобы источник отчета был настроен на тот же запрос, так что мне не нужно создавать кучу разных отчетов. Он выдает ошибку 2465, определенную или определяемую объектом ошибку.

+1

Какие проблемы возникают при использовании этой строки кода? – Newd

+0

Извините, я полностью забыл включить это. Редактирование сейчас. – santh821

+0

Открыта ли [Форма поиска], когда вы пытаетесь это сделать? – Newd

ответ

2

В отчете нет SourceObject. Вот почему Access выдает ошибку # 2465, «Определенная приложением или объектная ошибка» при попытке ссылаться на нее.

Вот Немедленный пример окна из моей системы:

' first demonstrate the report is accessible ... 
Debug.Print Reports!rptFoo.Name 
rptFoo 
' now when referencing SourceObject ... 
Debug.Print Reports!rptFoo.SourceObject ' <-- error 2465 

Может быть, вы хотите изменить содержащиеся в докладе RecordSource вместо:

' current RecordSource ... 
Debug.Print Reports!rptFoo.RecordSource 
SELECT rmy.id, rmy.reportDate, rmy.gainOrLoss FROM record_matYields AS rmy; 
' change RecordSource to a saved query ... 
Reports!rptFoo.RecordSource = "qryBar" 
' confirm RecordSource was altered ... 
Debug.Print Reports!rptFoo.RecordSource 
qryBar 

В отчете отображается 6 строк с оригинальным RecordSource. Сохраненный запрос включает условие WHERE, которое ограничивает результаты только двумя из этих строк. Таким образом, изменение RecordSource, как и выше, заставило отчет отображать только те 2 строки без принудительного вывода отчета в режим разработки, в отличие от макроопределения, упомянутого в вашем комментарии.

К сожалению, я не знаю достаточно о макросах, чтобы помочь вам исправить вашу. Я в основном избегаю макросов.

+0

Хорошо, так что в основном фиксированные вещи. Теперь он успешно открывает отчет, но в дизайне. Макрос установлен, чтобы открыть отчет в представлении отчета, но он переходит в представление дизайна. – santh821

+0

Проблема в том, что я хочу установить источник записи отчета в исходный объект подформы, который зависит от того, что делает пользователь. – santh821

+0

Вы знаете, как получить подформу 'SourceObject':' Forms! [Форма поиска]! Subform1.SourceObject' Затем используйте его для отчета 'RecordSource'. В чем проблема? – HansUp

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