powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Переходы по записям в отчете
34 сообщений из 34, показаны все 2 страниц
Переходы по записям в отчете
    #39482801
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста как через vba осуществлять переходы по записям в отчете в режиме предварительного просмотра. Если таковое возможно.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39482846
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23,
Вопрос не понятен. Что вы хотите? Поподробней , пожалуйста. Не путаете ли вы "запись" и "страницу"? Сколько у вас в отчете записей на странице?
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39482860
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23,
Если вас интересует всё-же навигация по страницам отчета из формы , то например так, на форме две кнопки - одна открывает отчет в режиме предпросмотра, вторая осущестляет переход вперед по страницам отчета :
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Кнопка0_Click()
DoCmd.OpenReport "Отчет1", acViewPreview
End Sub

Private Sub Кнопка1_Click()
DoCmd.SelectObject acReport, "Отчет1"
SendKeys "{RIGHT}"
End Sub
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483114
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportвторая осущестляет переход вперед по страницам отчета
Да, извиняюсь, наверно я не правильно выразилась, но Ваш пример мне помог. Просто я в коде изначально использовала команду «DoCmd.GoToRecord».

У меня создана своя вкладка на ленте Ribbona и на ней добавлены кнопки переходов для просмотра отчета в режиме предпросмотра.

Ваш пример работает, но как то странно например, если в открытом отчете мышкой нигде не тыкать, то код прекрасно работает, но стоит тыкнуть мышкой в отчет, как код перестает срабатывать, а некоторых ситуациях форма просто смещается вправо/влево/вверх/вниз. Получается какое то странное или даже неадекватное поведение что ли.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483200
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не могу понять какую функцию несет отчет в режиме предварительного просмотра. В самом отчете можно поставить кнопку на печать, конфигурация данных разместить изначально в пределах полей страницы, по полям ленточного отчета правой кнопкой мыши можно ставить фильтр и распечатывать напрямую только данные нужные на данный момент. Неужели только ради того, чтобы видеть общее количество страниц на печать?
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483212
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikolay_magaginЯ не могу понять какую функцию несет отчет в режиме предварительного просмотра. В самом отчете можно поставить кнопку на печать, конфигурация данных разместить изначально в пределах полей страницы, по полям ленточного отчета правой кнопкой мыши можно ставить фильтр и распечатывать напрямую только данные нужные на данный момент. Неужели только ради того, чтобы видеть общее количество страниц на печать?
Мне не нужна кнопка на печать, она у меня уже есть. Мне нужно чтобы у пользователя были обычные большие кнопки для пролистывания страниц отчета, когда тот открыт в режиме предварительного просмотра. Сами кнопки у меня выведены на вкладке. А функция отчета самая простая и как у всех - отчет в режиме предварительного просмотра дает возможность просмотреть все страницы и если надо распечатать. Че тут не понятного то???
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483231
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Кнопка0_Click()
DoCmd.OpenReport "Отчет1", acViewPreview
End Sub

Private Sub Кнопка1_Click()
DoCmd.SelectObject acReport, "Отчет1"
' тут надо вставить команду "Вписать в окно" - Docmd.Runcommand 'чего то там'
SendKeys "{RIGHT}"
End Sub
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483246
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,
не хочет:
Код: vbnet
1.
2.
3.
  DoCmd.SelectObject acReport, "Отчет1"
  DoCmd.RunCommand acCmdFitToWindow
  SendKeys "{RIGHT}"
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483286
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извини, но я наверно заклинил и пытаюсь понять в чем причина. А отчет не дает режима просмотра данных? Просто для меня, предварительный просмотр - это функция позволяющая увидеть, вмещаются ли данные в пределы страницы. Поэтому я не могу понять, зачем нужен дополнительно предварительный просмотр? Может есть еще какая-нибудь польза от предварительного просмотра о которой я не подозреваю?
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483327
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23guest_rusimport,
не хочет:
Код: vbnet
1.
2.
3.
  DoCmd.SelectObject acReport, "Отчет1"
  DoCmd.RunCommand acCmdFitToWindow
  SendKeys "{RIGHT}"


Попробуй перед Sendkeys поставить Doevents.
А что пишет? Какую ошибку?
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483340
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportПопробуй перед Sendkeys поставить Doevents.
А что пишет? Какую ошибку?
ошибок не выдается, просто после выполнения DoCmd.RunCommand acCmdFitToWindow окно становится вписанным в окно, но перехода на следующую страницу не происходит.

Doevents - не срабатывает, что оно есть, что его нет.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483406
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23,
действуя по принципу - "доверяй, но проверяй", добрался до компа и проверил такой код
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub Кнопка1_Click()
DoCmd.SelectObject acReport, "Таблица5"
DoCmd.RunCommand acCmdFitToWindow
DoEvents
SendKeys "{RIGHT}"
End Sub


работает как часы, что кликай по окну предварительного просмотра отчета, что - нет (акс 2003)
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483416
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportработает как часы, что кликай по окну предварительного просмотра отчета, что - нет (акс 2003)
ай блин, промашечка вышла, у меня акс 2010.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483421
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23guest_rusimportработает как часы, что кликай по окну предварительного просмотра отчета, что - нет (акс 2003)
ай блин, промашечка вышла, у меня акс 2010.
ну, это только хуже для вас :) придется самой разбираться ... или ждать очередного доброхота с 2010-м :)
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483431
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23,
могу лишь ещё предложить попробовать так
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub Кнопка1_Click()
DoCmd.SelectObject acReport, "Отчёт1"
DoCmd.RunCommand acCmdPreviewOnePage
DoEvents
SendKeys "{RIGHT}"
End Sub
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483432
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,
и тем не менее спасибо за помощь. Хоть и не полноценно так сказать, но кнопки то работают без ошибочно. Я считаю здесь это уже на уровне майкрософта проблема.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483436
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport
Код: vbnet
1.
DoCmd.RunCommand acCmdPreviewOnePage


неа, не срабатывает. После этой команды SendKeys не срабатывает почему то.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483446
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23guest_rusimport
Код: vbnet
1.
DoCmd.RunCommand acCmdPreviewOnePage


неа, не срабатывает. После этой команды SendKeys не срабатывает почему то.
ну, не обессудь, чем мог, 10-го у меня нет
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483457
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23,
вот что пишут для 2010-го
"Навигация в режимах предварительного просмотра и предварительного просмотра макета.
...

Просмотр следующей страницы (при выбранном параметре Вписать в окно)

PAGE DOWN или СТРЕЛКА ВНИЗ
..."

https://support.office.com/ru-ru/article/Сочетания-клавиш-Access-069fa421-3a51-4b92-8712-d324c623751f

т.е. по идее для 2010-го
Код: vbnet
1.
2.
3.
  DoCmd.SelectObject acReport, "Отчет1"
  DoCmd.RunCommand acCmdFitToWindow
  SendKeys "{PGDN}"
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483465
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikolay_magaginПоэтому я не могу понять, зачем нужен дополнительно предварительный просмотр? Может есть еще какая-нибудь польза от предварительного просмотра о которой я не подозреваю?

Чтобы это понять, нужно этим пользоваться, а еще быстрее дойдет, если покупать бумагу и картриджи за свои кровные...
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483832
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня создается впечатление, что при работе с акцес вы не соскачили с эксел. Создаю отчет в акцес изначально в пределах ширины страницы (книжная или альбомная). Далее просмотр осуществляю колесом мышки вверх/вниз. Я так подозреваю, что данные не вмещаются в окно по горизонтали. Что мешает задать в свойствах отчета: 1) всплывающее окно - да; 2) событие при открытии - развернуть окно (для 2003 я делал дополнительно: выделить все записи, иначе почему-то не отображались записи и кажется в рисунок вставлял белый фон, хотя не помню для чего); 3) Тип границы - изменяемая, чтобы была видна панель задач виндос.
Окно отчета раскрывается на весь экран, видны все данные по горизонтали, что в альбомном, что в книжном варианте.
Для себя убираю все кнопки оконного меню в макете и ставлю кнопку закрыть отчет (назад) и перемещение не допускаю. Открыл, просмотрел, распечатал, закрыл - вроде аналогично предварительному просмотру.
Чего нет? Визуальной границы страницы. Прокрутка идет визуально в одной странице.
Так я думаю тут много людей знающих как информацию о количестве страниц вывести на экран.
Визуальная ширина страницы мне не нужна, так как я изначально знаю, что вся информация в пределах ширины страницы. В экселе об этом думаешь постоянно.
По вертикали (после предварительного просмотра) изменять высоту строчек, что бы они вошли наиболее максимально в наименьшее количество страниц по аналогии с эксел, при изменяющихся данных в отчете - нет уж спасибо. Просмотрел данные, отфильтровал, распечатал.
Расход бумаги и тонера (чернил)? Предположительно распечатать нужно, после предварительного просмотра, только страницы 1 и 3 из 5 страниц. Вопрос: какие данные вы вносите, которые нельзя вывести через фильтр и затем спокойно распечатать?
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483885
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikolay_magaginДалее просмотр осуществляю колесом мышки вверх/вниз.

Это и есть предварительный просмотр и этим он и отличается от прямой печати на принтер не глядя... мда... в принципе говорить много и ни о чем, это своего рода тоже талант...
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483896
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос был, что дает предварительный просмотр отчета, чего не дает соответственно оформленный отчет? Какую дополнительную функцию? Или это движение по инерции?
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483905
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikolay_magaginВопрос был, что дает предварительный просмотр отчета

nataxa23отчет в режиме предварительного просмотра дает возможность просмотреть все страницы и если надо распечатать. Че тут не понятного то???
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39483975
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно. Просматриваешь отчет, отфильтровываешь вывод данных, опять просматриваешь, затем переходишь в предварительный просмотр и в привычном обрамлении страниц просматриваешь не просмотрел ли, что-то при просмотре до этого. Вопросов нет.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39485405
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23кнопки то работают без ошибочно
мммда... поторопилась я отписаться по поводу ошибок. Ошибку я все же обнаружила, причем чисто случайно, если честно, такое сразу то так с кондочка и не увидеть:
Код: vbnet
1.
2.
3.
  DoCmd.SelectObject acReport, "Отчет1"
  DoCmd.RunCommand acCmdFitToWindow
  SendKeys "{PGDN}" 'PGUP/HOME/END


Я не знаю почему и у кого как, но у меня при срабатывании этого кода отключается/включается на клавиатуре NumLock
Т.е. получается, жму на кнопку NumLock включается, жму повторно - отключается. Если еще в добавок использовать не дай бог Zoom, то ваще какая то лажа смешанная получается (пардон за сленг).

В общем не понятно чета мне как сделать в дополнение к мелким кнопкам майкрософта свои большие кнопки для просмотра страниц.

Если кто все же знает способ программно, как можно реализовать переходы по страницам для просмотра отчета в предварительном просмотре, подскажите пожалуйста, буду ждать варианты предложений.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39485411
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23,
а всё ли вы проверили? а если вместо

SendKeys "{PGDN}"

использовать

SendKeys "{DOWN}"

то тоже NUMLOCK включается?
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39485982
nataxa23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportиспользовать
SendKeys "{DOWN}"
то тоже NUMLOCK включается?
да. Мне кажется тут дело не в том, какую выбирать клавишу, а в чем то другом. По хорошему правильно должно быть добраться до тех же самых команд, которые отвечают за переход по страницам или на худой конец этих мелких идиотских кнопок, которые оставил майкрософт по умолчанию, как то так примерно.
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39486050
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nataxa23guest_rusimportиспользовать
SendKeys "{DOWN}"
то тоже NUMLOCK включается?
да. Мне кажется тут дело не в том, какую выбирать клавишу, а в чем то другом. По хорошему правильно должно быть добраться до тех же самых команд, которые отвечают за переход по страницам или на худой конец этих мелких идиотских кнопок, которые оставил майкрософт по умолчанию, как то так примерно.
Каких то особых команд, отвечающих за переход по страницам в режиме предпросмотра отчета попросту не существует. Если у вас компьютер так странно реагирует на SendKeys, то возможно поможет "костыль" - перед SendKeys "{DOWN}", ставить SendKeys "{NUMLOCK}".
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39486137
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportnataxa23пропущено...

да. Мне кажется тут дело не в том, какую выбирать клавишу, а в чем то другом. По хорошему правильно должно быть добраться до тех же самых команд, которые отвечают за переход по страницам или на худой конец этих мелких идиотских кнопок, которые оставил майкрософт по умолчанию, как то так примерно.
Каких то особых команд, отвечающих за переход по страницам в режиме предпросмотра отчета попросту не существует. Если у вас компьютер так странно реагирует на SendKeys, то возможно поможет "костыль" - перед SendKeys "{DOWN}", ставить SendKeys "{NUMLOCK}".
если не поможет, то вот так ещё советуют
вот это в общий модуль
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
 
' Определяет, изменчивое ли состояние у NumLock или нет
' Возвращает false - стабильный, true - изменчивый
Function Num_Not_Stable() As Boolean
 
    Dim keystat(0 To 255) As Byte
    Dim state As String
     
    GetKeyboardState keystat(0)
    state = keystat(vbKeyNumlock)
     
    If (state = 0) Then
     Num_Not_Stable = False
    Else
     Num_Not_Stable = True
    End If
End Function



а использовать так

Код: vbnet
1.
2.
3.
4.
5.
DoCmd.SelectObject acReport, "Отчет1"
DoCmd.RunCommand acCmdFitToWindow
DoEvents
If Num_Not_Stable() Then SendKeys "{NUMLOCK}"
SendKeys "{PGDN}"
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39500982
Вакшуль Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimportа использовать так
да, так работает стабильно
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39500991
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вакшуль Сергейguest_rusimportа использовать так
да, так работает стабильно
Спасибо, Сергей, за тестирование кода! А то наша дама меня в конец запутала:) Уж и не знаешь, что подумать :)
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39502250
Вакшуль Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

Кстати,
Попалось на глаза:
http://access.mvps.org/access/api/api0046.htm

Функция mySendKeys
Там автор не только NumLock восстанавливает, но и другие функциональные клавиши
...
Рейтинг: 0 / 0
Переходы по записям в отчете
    #39502256
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вакшуль Сергейguest_rusimport,

Кстати,
Попалось на глаза:
http://access.mvps.org/access/api/api0046.htm

Функция mySendKeys
Там автор не только NumLock восстанавливает, но и другие функциональные клавиши
Да, спасибо, Сергей! Я тоже натыкался на это решение, но поскольку ТС о других клавишах молчала, то решил ограничиться приведённым мной решением.
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Переходы по записям в отчете
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]