powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Автопрокрутка ленточной формы на новую запись
34 сообщений из 34, показаны все 2 страниц
Автопрокрутка ленточной формы на новую запись
    #39913721
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ходе с работы с ленточной формой при добавлении новой записи методом
With Me.Recordset
.AddNew
.Update
End With
у меня автоматически происходила прорутка формы на новую запись и курсор
становился на новой записи.
Но потом, после вышеуказанного кода происходят еще кое-какие преобразования внутри этой же подпрограммы,
в результате которых приходится применять метод Me.Requery (т.е. обновлять форму).
Вообщем после строки Me.Requery у меня курсор становится на первую запись ленточной формы,
а не на новую добавленную.
Можно ли каким-нить способом установить курсор на новую добавленную запись?Если можно - подскажите пож!
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39913805
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty,

Если есть - Код, ну типа - Счетчик, то наверное резонно будет прыгать на запись с максимальным кодом, ибо он и был последний и самый новый.
Или вы Ярый противник - Счётчиков?
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39913816
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правило, можно заменить Me.Requery на Me.RecordSet.Requery.
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39913817
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух
drafty,

Если есть - Код, ну типа - Счетчик, то наверное резонно будет прыгать на запись с максимальным кодом, ибо он и был последний и самый новый.
Или вы Ярый противник - Счётчиков?

Счётчик есть...Т.е. в рекордсоурсе формы (инструкции SQL мне надо будет указать ...ORDER BY TABLE.KOD DESC ?
А может есть какой-нибудь другой альтернативный способ?
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39913826
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty,

Ну может так как ни то прокатит?
[ИмяФормы].Recorset.FindFirst "Код_Формы=" & [ИмяФормы].[Код_Формы]
У меня обычно катит.
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39913827
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4d_monster
Как правило, можно заменить Me.Requery на Me.RecordSet.Requery.

Окэ, завтра по результатам отпишусь ✋
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39913839
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух
drafty,

Ну может так как ни то прокатит?
[ИмяФормы].Recorset.FindFirst "Код_Формы=" & [ИмяФормы].[Код_Формы]
У меня обычно катит.

Попробую, может и у меня прокатит 🤔
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39913860
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty,

После Me.Requery
Me.ИмяПодчиненнойФормы.Form.Recordset.MoveLast
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39913862
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
drafty,

После Me.Requery
Me.ИмяПодчиненнойФормы.Form.Recordset.MoveLast

Это похоже ближе к истине...
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914055
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914076
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

"Run-time error '3159' Недопустимая закладка"
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914077
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
drafty,

После Me.Requery
Me.ИмяПодчиненнойФормы.Form.Recordset.MoveLast

Спасибо,срабатывает как и требовалось 🤝🤝🤝
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914079
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
4d_monster
Как правило, можно заменить Me.Requery на Me.RecordSet.Requery.

Окэ, завтра по результатам отпишусь ✋

Не совсем корректно работает,а иногда выдаётся ошибка
"Run-time error '-2147417848(80010108) Method 'Requery' of object 'Recordset2' failed"
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914080
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще самый надежный способ - поиск нужной записи по уникальному ключу после обновления, т.к. MoveLast не будет работать в случае сортировки не по первичному ключу, а также при многопользовательской работе - кто-то другой мог создать новую запись и автоинкрементный ключ не будет последним. Bookmark также работает не во всех случаях.
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914090
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty,

Без примера тяжеловато в понимании, по крайней мере для меня, но как то делал нечто подобное.

...
Me.Requery 'Обновить
Me.Refresh 'Обновить. Если Реквери не требуется, так как работаеть только с данными формы.
Me.Recalc 'Пересчитать
DoEvents 'На всякий случай маленькая задержка. Если форма тяжелая, то пересчет может быть долгим
Me.Recordset.FindFirst "[Код_Посещения]=" & Me.[Код_ПосещенияМакс] ' где Код_ПосещенияМакс - Свободное поле с выражением =Max([Код_Посещения])
...
Создаете Свободное поле - Код_ПосещенияМакс , с выражением =Max([Код_Посещения])
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914091
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух,

Де-Жавю какое то.

Кажется совсем недавно, в где то это уже писал.
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914104
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
vmag
drafty,

После Me.Requery
Me.ИмяПодчиненнойФормы.Form.Recordset.MoveLast

Спасибо,срабатывает как и требовалось 🤝🤝🤝


Это некорректно, так как форма может быть отсортирована и не по ID-шке.

Именно с Access-ом давно не работал. Но посмотрите методы Resync и Refresh...
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914159
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух
drafty,

Без примера тяжеловато в понимании, по крайней мере для меня, но как то делал нечто подобное.

...
Me.Requery 'Обновить
Me.Refresh 'Обновить. Если Реквери не требуется, так как работаеть только с данными формы.
Me.Recalc 'Пересчитать
DoEvents 'На всякий случай маленькая задержка. Если форма тяжелая, то пересчет может быть долгим
Me.Recordset.FindFirst "[Код_Посещения]=" & Me.[Код_ПосещенияМакс] ' где Код_ПосещенияМакс - Свободное поле с выражением =Max([Код_Посещения])
...
Создаете Свободное поле - Код_ПосещенияМакс , с выражением =Max([Код_Посещения])

Приму на вооружение! 🤔
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914162
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrF
drafty
пропущено...

Спасибо,срабатывает как и требовалось 🤝🤝🤝


Это некорректно, так как форма может быть отсортирована и не по ID-шке.

Именно с Access-ом давно не работал. Но посмотрите методы Resync и Refresh...

Пока работает...как начнутся сбои,обращусь к вам за пояснениями 😜
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914166
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914168
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Но потом, после вышеуказанного кода происходят еще кое-какие преобразования внутри этой же подпрограммы,
в результате которых приходится применять метод Me.Requery (т.е. обновлять форму).
Какие преобразования? Они затрагивают источник данных за пределами существующего набора?
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914262
POKEP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пользуюсь такими строчками, например, при открытии формы. Так же можно поступать и после обновления формы по Requry, чтобы прокрутить набор записей вниз.

Код: vbnet
1.
2.
3.
4.
5.
6.
' Прокрутка записей формы вниз до упора, затем на 20 вверх.
On Error Resume Next
DoCmd.GoToRecord , , acLast
DoCmd.GoToRecord , , acPrevious, 20
DoCmd.GoToRecord , , acLast
On Error GoTo Err_Form_Open
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914340
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
drafty
Но потом, после вышеуказанного кода происходят еще кое-какие преобразования внутри этой же подпрограммы,
в результате которых приходится применять метод Me.Requery (т.е. обновлять форму).
Какие преобразования? Они затрагивают источник данных за пределами существующего набора?

Нет,внутри рабочего набора
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914363
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Пока работает...как начнутся сбои,обращусь к вам за пояснениями 😜


Да не боись, пример исключительно под твой частный случай, пока не перейдешь на другую сортировку, будет работать вечно...
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914446
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Нет,внутри рабочего набора
а к чему тогда Requery ?
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914564
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
drafty
Пока работает...как начнутся сбои,обращусь к вам за пояснениями 😜


Да не боись, ...

😂😂😂
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914565
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
drafty
Нет,внутри рабочего набора
а к чему тогда Requery ?

Я добавлял новую запись в форму,а в таблицу-источник вроде это не "попадало" (точно не помню, завтра на работе гляну),и поэтому использовал Requery...
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914610
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Я добавлял новую запись в форму,а в таблицу-источник вроде это не "попадало"
Ещё раз повторю - а к чему тогда Requery ? Запись "попадает" в таблицу после Update (если через поля формы вводится, то Dirty = False ), а Requery делает новый запрос данных из источника в набор.
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914621
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
drafty
Я добавлял новую запись в форму,а в таблицу-источник вроде это не "попадало"
Ещё раз повторю - а к чему тогда Requery ? Запись "попадает" в таблицу после Update (если через поля формы вводится, то Dirty = False ), а Requery делает новый запрос данных из источника в набор.

К сожалению, работу метода Dirty=False )на момент создания программного кода) я ещё не совсем понимал, поэтому и вписал Me.Requery...🙈🙈🙈
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914658
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Панург
пропущено...
Ещё раз повторю - а к чему тогда Requery ? Запись "попадает" в таблицу после Update (если через поля формы вводится, то Dirty = False ), а Requery делает новый запрос данных из источника в набор.

К сожалению, работу метода Dirty=False )на момент создания программного кода) я ещё не совсем понимал, поэтому и вписал Me.Requery...🙈🙈🙈
А что сейчас мешает переписать?

ЗЫ. Что за квадратики в конце сообщения (три)? По крайней мере у меня так отображается.
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914691
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
drafty
пропущено...

К сожалению, работу метода Dirty=False )на момент создания программного кода) я ещё не совсем понимал, поэтому и вписал Me.Requery...🙈🙈🙈
А что сейчас мешает переписать?

ЗЫ. Что за квадратики в конце сообщения (три)? По крайней мере у меня так отображается.

У меня весь остальной код привязан к событиюRequery,хотя попробую переделать, может что и получится
А квадратики это (см.вложение):
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914736
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
drafty
Я добавлял новую запись в форму,а в таблицу-источник вроде это не "попадало"
Ещё раз повторю - а к чему тогда Requery ? Запись "попадает" в таблицу после Update (если через поля формы вводится, то Dirty = False ), а Requery делает новый запрос данных из источника в набор.

Только что протестировал Me.Dirty=False,короче при таком способе отсутствует прокрутка формы от колеса мыши и от элемента вертикальной прокрутки...
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914746
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Только что протестировал Me.Dirty=False,короче при таком способе отсутствует прокрутка формы от колеса мыши и от элемента вертикальной прокрутки...
Это хорошо или плохо?
...
Рейтинг: 0 / 0
Автопрокрутка ленточной формы на новую запись
    #39914750
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
drafty
Только что протестировал Me.Dirty=False,короче при таком способе отсутствует прокрутка формы от колеса мыши и от элемента вертикальной прокрутки...
Это хорошо или плохо?

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


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