|
|
|
новичок
      
участник
Last Login: 09.08.2007 13:47
Сообщ.: 3,
Visits: 15
|
|
Существует ленточная форма (frmSearch) на основе таблицы (tblMain - c ключевым полем ID). В заголовке формы размещена кнопка (btnPrint), которая открывает отчет (repDogovor), построенный на основании запроса (qwDogovor). Данный запрос с параметром из таблицы tblMain, параметр - значение Id. Как получить и передать значение ID для текущей записи? Создала переменную, в которую запихиваю значение ID в событии Form_Current(). Но при нажатии на кнопку btnPrint это значение обнуляется. Наверное т.к. текущей записи не существует на д. момент, т.е. фокус потерян. Помогите, что делать. Уже вся измучилась.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.03.2008 19:04
Сообщ.: 328,
Visits: 1 857
|
|
1. Наверное, переменную Вы объявили в процедуре Form_Current или в модуле формы, поэтому область видимости ее - только эта процедура или только этот модуль. Чтобы она была видна в отчете ее необходимо объявить как Public в стандартном (общем) модуле.
2. Значение переменной нужно присваивать только перед вызовом отчета. Присваивание в процедуре Form_Current - излишества.
3. Если вы передаете ID только лишь для того, чтобы использовать в условии отбора запроса, то не лучше ли будет сделать источником данных отчета запрос без параметров, а при открытии отчета четвертым параметром команды указать критерий отбора записей в отчете. Например
DoCmd.OpenReport "Имя_отчета", acViewPreview,,"ID=" & Me!ID
Тогда и переменная не понадобиться.
Кстати, почитайте про OpenReport, может и 3-ий параметр сгодится.
|
|
|
|