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

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

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

это не очень хороший вариант сохранения. лучше
Код: vbnet
1.
Me.Dirty = False
...
Рейтинг: 0 / 0
13.12.2018, 12:56
    #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
14.12.2018, 08:20
    #39747714
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка курсора на текущую запись после обновления формы
Eugene-LS,
И это реально работает? Я считал, что каждый вызов RordsetClone делает новую копию рекордсета формы. Я бы присвоил один раз клон переменной и использовал ее, а еще лучше использовать в этом коде Recordset вместо RordsetClone
...
Рейтинг: 0 / 0
14.12.2018, 10:20
    #39747756
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка курсора на текущую запись после обновления формы
naufЗдравствуйте! Нужно чтобы курсор оставался на текущей записи после обновления формы.
.....
Работает если на форме не установлен фильтр, если фильтр установлен не работает.
вот варианты полностью отвечающие на вопрос ТСа (какой применять он решит сам)
sdku
Код: vbnet
1.
DoCmd.RunCommand acCmdSaveRecord

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

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

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


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