2015-06-15 1 views
0

У меня есть кнопка в форме Access 2007 с VBA код on click следующим образом:отчет Access печатает слишком много страниц с фильтром применяется

Private Sub Command53_Click() 
    DoCmd.OpenReport "BolLSW", acViewNormal, , "[bolnum] = '" & [bolnum] & "'" 
End Sub 

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

Есть ли способ указать только для печати нужной записи?

Чтобы уточнить: Bolnum - это уникальное поле в форме, которая автоматически увеличивается. Нажатие кнопки «Создать BoL» вызывает диалоговое окно, в котором вы можете ввести Bolnum для печати. После ввода 2 будут записаны как записи 1, так и 2.

+0

Как форма, так и отчет имеют одинаковый источник записи. Какая таблица называется «BoL» – Rynoc

ответ

0

Я попробую дать [bolnum] (между 2 &, то есть переменной) другое имя. Я предполагаю, что Access принимает значение текущей строки, поэтому предложение where всегда истинно.

+0

Попытка не работает. '[bolnum]' не является переменной, а именем поля в поле. извините, если это не было выяснено. – Rynoc

+0

Если он находится в форме, то вы можете указать форму перед именем поля – Mercatorius

+0

Я немного не понятен, как указать имя формы и где. Обычно я просто делаю стандартное 'me.field.value', но пытаюсь сделать это, так как мой текущий синтаксис всегда вызывает ошибки. Как и где указать форму? – Rynoc

0

Я решил, удалив некоторые из цитат из

DoCmd.OpenReport "BolLSW", acViewNormal, , "[bolnum] = '" & [bolnum] & "'"

именно:

удаления

>'<" & [bolnum] >& "'"<

в результате:

DoCmd.OpenReport "BolLSW", acViewNormal, 1, "[bolnum] = " & [bolnum]

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