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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

Пока работает...как начнутся сбои,обращусь к вам за пояснениями 😜
...
Рейтинг: 0 / 0
15.01.2020, 11:09
    #39914166
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автопрокрутка ленточной формы на новую запись
...
...
Рейтинг: 0 / 0
15.01.2020, 11:13
    #39914168
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автопрокрутка ленточной формы на новую запись
drafty
Но потом, после вышеуказанного кода происходят еще кое-какие преобразования внутри этой же подпрограммы,
в результате которых приходится применять метод Me.Requery (т.е. обновлять форму).
Какие преобразования? Они затрагивают источник данных за пределами существующего набора?
...
Рейтинг: 0 / 0
15.01.2020, 13:12
    #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
15.01.2020, 14:24
    #39914340
drafty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автопрокрутка ленточной формы на новую запись
Панург
drafty
Но потом, после вышеуказанного кода происходят еще кое-какие преобразования внутри этой же подпрограммы,
в результате которых приходится применять метод Me.Requery (т.е. обновлять форму).
Какие преобразования? Они затрагивают источник данных за пределами существующего набора?

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


Да не боись, пример исключительно под твой частный случай, пока не перейдешь на другую сортировку, будет работать вечно...
...
Рейтинг: 0 / 0
15.01.2020, 17:00
    #39914446
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автопрокрутка ленточной формы на новую запись
drafty
Нет,внутри рабочего набора
а к чему тогда Requery ?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Автопрокрутка ленточной формы на новую запись / 25 сообщений из 34, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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