powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Установка курсора на текущую запись после обновления формы
9 сообщений из 9, страница 1 из 1
Установка курсора на текущую запись после обновления формы
    #39747227
nauf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Нужно чтобы курсор оставался на текущей записи после обновления формы. На форуме нашел:

Dim MyID As Long
MyID = Me!Код
Me.Parent.Refresh
Me.Recordset.FindFirst "[Код] = " & MyID

Работает если на форме не установлен фильтр, если фильтр установлен не работает.
...
Рейтинг: 0 / 0
Установка курсора на текущую запись после обновления формы
    #39747249
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nauf,
Код: vbnet
1.
Me.RecordSource = Me.RecordSource
...
Рейтинг: 0 / 0
Установка курсора на текущую запись после обновления формы
    #39747283
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавлю:
если Вы хотите обновить форму,то после обновления курсор вернется на первую запись. Если же Вы хотите обновить выбранную фильтром запись в таблице и оставить на экране отобранную запись(не снимать фильтр) то:
Код: vbnet
1.
DoCmd.RunCommand acCmdSaveRecord
...
Рейтинг: 0 / 0
Установка курсора на текущую запись после обновления формы
    #39747290
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

это не очень хороший вариант сохранения. лучше
Код: vbnet
1.
Me.Dirty = False
...
Рейтинг: 0 / 0
Установка курсора на текущую запись после обновления формы
    #39747318
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Public Sub SetFormRecord(frm As Form, Optional strCriteria As String, Optional blToFirst As Boolean = False)
'Производит поиск записи по заданным критериям в форме(подчиненной форме)
'и ставит фокус на найденную запись - если она найдена (после удаления например)
'если искомое не найдено - переход на Первую или Последнюю запись в зависимости
'от аргумента blToFirst (по умолчанию переход на последнюю запись)
'------------------------------------------------------------------------------
On Error GoTo SetFormRecordErr
    With frm
        .RecordsetClone.FindFirst strCriteria
        If .RecordsetClone.NoMatch Then
            If blToFirst = False Then
                .RecordsetClone.MoveLast
            Else
                .RecordsetClone.MoveFirst
            End If
        End If
        .Bookmark = .RecordsetClone.Bookmark
    End With
SetFormRecordBye:
    On Error Resume Next
    Set frm = Nothing
    Exit Sub
SetFormRecordErr:
    Err.Clear
    Resume SetFormRecordBye
End Sub



Пример использования:
Код: vbnet
1.
2.
'курсор на конкретную запись ... (objSubForm = название объекта подчинённая форма)
    SetFormRecord Me!objSubForm.Form, "GoodID = 25"
...
Рейтинг: 0 / 0
Установка курсора на текущую запись после обновления формы
    #39747714
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS,
И это реально работает? Я считал, что каждый вызов RordsetClone делает новую копию рекордсета формы. Я бы присвоил один раз клон переменной и использовал ее, а еще лучше использовать в этом коде Recordset вместо RordsetClone
...
Рейтинг: 0 / 0
Установка курсора на текущую запись после обновления формы
    #39747756
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
naufЗдравствуйте! Нужно чтобы курсор оставался на текущей записи после обновления формы.
.....
Работает если на форме не установлен фильтр, если фильтр установлен не работает.
вот варианты полностью отвечающие на вопрос ТСа (какой применять он решит сам)
sdku
Код: vbnet
1.
DoCmd.RunCommand acCmdSaveRecord

4d_monster
Код: vbnet
1.
Me.Dirty = False

На форуме не первый день, но не "вкурю"зачем (Eugene-LS) предлагать более сложные(иногда на много),вызывающие сомнения(иногда большие) в работоспособности варианты
...
Рейтинг: 0 / 0
Установка курсора на текущую запись после обновления формы
    #39747761
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать через закладку, но я не уверен, что после Refresh`а будет работать:

Код: vbnet
1.
2.
varBookmark =  rst.Bookmark
rst.Bookmark = varBookmark
...
Рейтинг: 0 / 0
Установка курсора на текущую запись после обновления формы
    #39747811
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
naufРаботает если на форме не установлен фильтр, если фильтр установлен не работает. Какие ваши доказательства? Кокаином! ©
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Установка курсора на текущую запись после обновления формы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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