С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
elly34
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 3
1

Условие отбора записей в отчете

26.04.2013, 15:33. Просмотров 1774. Ответов 14
Метки нет (Все метки)

Есть форма "оформление покупки", после того, как ее заполнят, нажимается кнопка "печать чека", которая открывает отчет с записью об этой покупке. Никак не могу понять какой макрос надо к кнопке привязать, чтоб в отчете открылась нужная запись, а не все подряд. Спасибо за помощь!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 15:33
Ответы с готовыми решениями:

Условие отбора в отчете в виде выпадающего списка
уважаемые знатоки! пожалуйста, помогите в отрганизации работы отчета ОБЪЕМЫ...

Элемент управления в отчете для отбора записей перед печатью
Здравствуйте. Есть таблица. Нужно напечатать данные в отчете соответствии с...

Условие отбора
Подскажите плз есть условие отбора (!=!! And !=!!) т.е. делается запрос при...

Условие отбора
В форме я спрашиваю условие отбора (значение1, значение2,..., все). Как мне...

Условие отбора
Здравствуйте, делаю практику в Access 2003. Предпоследний пункт это создать...

14
ltv_1953
Эксперт MS Access
12910 / 5869 / 1143
Регистрация: 21.06.2012
Сообщений: 10,573
26.04.2013, 15:44 2
В процедуре нажатия кнопки что-нибудь типа
Visual Basic
1
DoCmd.OpenReport "Чек", acViewPreview, , "Код_Покупки=" & Me.Код_Покупки, acWindowNormal
. Имена отчета, ... подставьте Ваши.
1
mobile
Эксперт MS Access
23340 / 13145 / 2754
Регистрация: 28.04.2012
Сообщений: 14,395
26.04.2013, 15:52 3
Лучший ответ Сообщение было отмечено как решение

Решение

Как с макросом не подскажу, не знаю. Не работаю с макросами ...

Но если вместо макроса использовать код ВБА, то все очень просто. В процедуре клика кнопки пишете команду вызова отчета с параметром WhereCondition (четвертый параметр метода OpenReport - команды вызова отчета), где прописывается sql-текст команды Where без ключевого слова Where, который и создает необходимый фильтр. Пример (с абстрактными именами полей, таблиц, поскольку истинных не знаю)
Visual Basic
1
docmd.OpenReport "ОтчетПечатьЧека",acViewPreview, ,"НомерЧека='" & Me.НомерЧека & "'"
Здесь ОтчетПечатьЧека предполагаемое имя отчета, НомерЧека - поле таблицы, Me.НомерЧека - поле формы. Также предполагается, что поле НомерЧека текстовое и поэтому окаймлено апострофами

Добавлено через 37 секунд
Ой, как опоздал...
3
elly34
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 3
26.04.2013, 16:02  [ТС] 4
Спасибо за оперативность)) Все получилось)
0
AMufu
16 / 16 / 6
Регистрация: 05.09.2012
Сообщений: 238
07.09.2013, 04:25 5
Цитата Сообщение от mobile Посмотреть сообщение
Как с макросом не подскажу, не знаю. Не работаю с макросами ...

Но если вместо макроса использовать код ВБА, то все очень просто. В процедуре клика кнопки пишете команду вызова отчета с параметром WhereCondition (четвертый параметр метода OpenReport - команды вызова отчета), где прописывается sql-текст команды Where без ключевого слова Where, который и создает необходимый фильтр. Пример (с абстрактными именами полей, таблиц, поскольку истинных не знаю)
Visual Basic
1
docmd.OpenReport "ОтчетПечатьЧека",acViewPreview, ,"НомерЧека='" & Me.НомерЧека & "'"
Здесь ОтчетПечатьЧека предполагаемое имя отчета, НомерЧека - поле таблицы, Me.НомерЧека - поле формы. Также предполагается, что поле НомерЧека текстовое и поэтому окаймлено апострофами

Добавлено через 37 секунд
Ой, как опоздал...
Подниму еще раз тему.
А если выборку нужно проводить не только по одному полю, а скажем и по еще одному полю, которое имеет логический формат.
ПРобовал так - не получается пишет object does not support this command property or method
Visual Basic
1
docmd.OpenReport "ОтчетПечатьЧека",acViewPreview, ,"НомерЧека='" & Me.НомерЧека & "'", ,"ЛогПоле='" & Me.ЛогПоле & "'"
Пробовал так
Visual Basic
1
docmd.OpenReport "ОтчетПечатьЧека",acViewPreview, ,"НомерЧека='" & Me.НомерЧека & "'", acViewPreview, ,"ЛогПоле='" & Me.ЛогПоле & "'"
Тоже не идет.
А как правильно?
0
ltv_1953
Эксперт MS Access
12910 / 5869 / 1143
Регистрация: 21.06.2012
Сообщений: 10,573
07.09.2013, 05:53 6
Условие - это одно выражение. Т.е. следует писать так
Visual Basic
1
DoCmd.OpenReport "Чек", acViewPreview, , "(Код_Покупки=" & Me.Код_Покупки & ") AND (ЛогПоле=" & Me.ЛогПоле & ")"
0
AMufu
16 / 16 / 6
Регистрация: 05.09.2012
Сообщений: 238
07.09.2013, 13:42 7
Пишу так -
Visual Basic
1
DoCmd.OpenReport "Report", acViewPreview, , "(Nzam=" & Me.NZam & ") AND (Druk=" & Me.Druk & ")"
Выдаёт ту же ошибку - object does not support this command property or method
0
VinniPuh
Эксперт MS Access
6336 / 3651 / 379
Регистрация: 27.03.2013
Сообщений: 13,453
07.09.2013, 14:02 8
Цитата Сообщение от elly34 Посмотреть сообщение
Никак не могу понять какой макрос надо к кнопке привязать, чтоб в отчете открылась нужная запись, а не все подряд.
elly34 - Немного, в этом могу подсказать по - макросикам , получалось несколько раз, (по крайней мере в этом вопросе)?
0
ltv_1953
Эксперт MS Access
12910 / 5869 / 1143
Регистрация: 21.06.2012
Сообщений: 10,573
07.09.2013, 14:09 9
Вы проверьте, какие у Вас типы полей. У меня все прекрасно работает
Visual Basic
1
DoCmd.OpenReport "Счет_Расхода", acViewPreview, , "(Счет_Код=" & Me.Счет_Код & ") AND (Операция_Код=" & Me.Операция_Код & ")"
. Здесь поля - длинные целые.
0
AMufu
16 / 16 / 6
Регистрация: 05.09.2012
Сообщений: 238
07.09.2013, 15:21 10
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Вы проверьте, какие у Вас типы полей. У меня все прекрасно работает
Visual Basic
1
DoCmd.OpenReport "Счет_Расхода", acViewPreview, , "(Счет_Код=" & Me.Счет_Код & ") AND (Операция_Код=" & Me.Операция_Код & ")"
. Здесь поля - длинные целые.
Так у меня одно поле длинное целое а второе логисеское (да-нет). Если только с одним полем (тем которое длинное целое) то тоже все работает.
0
ltv_1953
Эксперт MS Access
12910 / 5869 / 1143
Регистрация: 21.06.2012
Сообщений: 10,573
07.09.2013, 15:37 11
Логическое - это 0 или -1. Какая разница то может быть? Вы базу выложите. тогда можно будет посмотреть. А так угадай-ка.
0
AMufu
16 / 16 / 6
Регистрация: 05.09.2012
Сообщений: 238
08.09.2013, 01:26 12
Выкладываю базу.
0
Вложения
Тип файла: rar TehPasport - копия.rar (1.01 Мб, 27 просмотров)
mobile
Эксперт MS Access
23340 / 13145 / 2754
Регистрация: 28.04.2012
Сообщений: 14,395
08.09.2013, 03:01 13
Лучший ответ Сообщение было отмечено как решение

Решение

AMufu, вы плохо знаете свое дитя
Табличное поле Druk в форме называется Флажок32. Соответственно, WhereCondition:
Visual Basic
1
"(Nzam=" & Me.NZam & ") AND (Druk=" & Me.Флажок32 & ")"

*
Попутно хочу заметить, что создавать таблицу без уникального ключевого поля себе дороже. Когда-нибудь аукнется и придется многое переделывать.
3
AMufu
16 / 16 / 6
Регистрация: 05.09.2012
Сообщений: 238
08.09.2013, 22:15 14
Действительно провтЬІкал :-) Спасибо
0
AMufu
16 / 16 / 6
Регистрация: 05.09.2012
Сообщений: 238
10.09.2013, 00:57 15
Цитата Сообщение от mobile Посмотреть сообщение
Попутно хочу заметить, что создавать таблицу без уникального ключевого поля себе дороже. Когда-нибудь аукнется и придется многое переделывать.
С этой таблицей история такая, что туда будут просто копироватся данные из другой базы, через таблицы ексель, и данные из этой единственной таблицы будут использоватся юзерами. На всякий случай ключевое поле добавил хотя не знаю когда оно пригодится )).
Еще раз спасибо.
0
10.09.2013, 00:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 00:57

Условие отбора
Здравствуйте! Подскажите пожалуйста почему не работает условие отбора в запросе...

условие отбора
День добрый. возникла такая проблемка Вот таким образом раньше осуществлялся...

Условие отбора
В таблице содержатся поля: "дата начала установки", "дата окончания установки",...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru