powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как выделить заданную строчку в форме с помощью VBA?
8 сообщений из 8, страница 1 из 1
Как выделить заданную строчку в форме с помощью VBA?
    #39173986
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Есть разделенная форма с кнопкой, которая обновляет (Requery) источник формы. После обновления исчезает выделение записи. Как мне сохранить позицию записи, которая была выделена до обновления. И как выделить заданную строчку после обновления?
Я как понял
Код: vbnet
1.
Me.CurrentRecord

- показывает номер строки, которая выделена
...
Рейтинг: 0 / 0
Как выделить заданную строчку в форме с помощью VBA?
    #39174064
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один из способов такой: сохраняешь в переменную ID записи на которой стоит маркер до обновления. После обновления надо найти этот ID в клоне рекордсета. По идее, этого долдно хваоить. Но, если недостаточно, тогда присвоить букмарк клона букмарку формы. Чтобы избежать мигания формы при этом, на время этой аперации отключить эхо и painting формы (не забыть их включить при выходе из процедуры! через обработчик ошибок). Да, еще, после обновления есть шанс, что сохраненного ID в рекордсете уже нет. Так что, нужно обязательно проверить результат поиска в клоне
...
Рейтинг: 0 / 0
Как выделить заданную строчку в форме с помощью VBA?
    #39174117
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Rivkin Dmitry,

А могли бы привести код примера?
...
Рейтинг: 0 / 0
Как выделить заданную строчку в форме с помощью VBA?
    #39174226
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел следующий способ, через bookmark.
Код: vbnet
1.
2.
3.
4.
5.
        Dim varBookmark As Variant
        varBookmark = Me.Bookmark

        Me.Requery
        Me.Bookmark = varBookmark



Единственное, что меня еще не устраивает, что после я хочу, чтобы запись была, вся выделенная, как на 1 рис. (до обновления),


а сейчас после обновления как на рис 2
...
Рейтинг: 0 / 0
Как выделить заданную строчку в форме с помощью VBA?
    #39174259
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это неверно. Букмарки рекордсета после обновления изменятся
Как то так (код пишу без проверки, сорри)Ж

Dim id as LongInt
id = Me.id
Me.Requery
Me.Recordset.Find "id = " & id
If not Me.Recordset.NoMutch Then
Me.Bookmark = Me.Recordset.BookMark
End If
...
Рейтинг: 0 / 0
Как выделить заданную строчку в форме с помощью VBA?
    #39174427
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Rivkin Dmitry,

Когда у меня Источник не изменяется (т.е. сколько вначале было записей до обновления, столько и осталось, очередность не менялась), в моём случае я обновляю только значение в поле одной записи. То bookmark - работает
...
Рейтинг: 0 / 0
Как выделить заданную строчку в форме с помощью VBA?
    #39174430
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос остался, как выделить запись, как на рисунке?
...
Рейтинг: 0 / 0
Как выделить заданную строчку в форме с помощью VBA?
    #39174465
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После того как правильная запись найдена, пишете
Код: vbnet
1.
docmd.runcommand accmdselectrecord
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как выделить заданную строчку в форме с помощью VBA?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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