Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выделение в списке после обновления - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Выделение в списке после обновления
user0 Дата: Воскресенье, 19.02.2017, 10:08 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 152
Репутация: 8 ±
Замечаний: 0% ±

Excel 2013, 2016
Доброго дня,

Подскажите, пожалуйста, как правильно сделать выделение в списке после requery.

Есть список, заполняемый через запрос. По клику на линии, данные подставляются в текстовые поля ниже, где редактируются и сохраняются, также может создаваться новая запись. Все работает, но хочется немного улучшить юзабилити, чтобы поле обновления списка при сохранении, выделялась либо так линия, которая редактировалась, либо последняя добавленная (не последняя/первая в списке, а по Id, полагаю через DMax, увы, руки кривы ) ).

Что-то вроде
[vba]
Код
Private Sub btnSave_Click()
    Dim LineEdited As Integer
    Dim LineLastByID As Integer

    If Me.txtIdLine <> "" Then          'если это редактируемая запись, то это поле не пустое (оно заполняется через Me.IdLine.Column(0) при requery)
        Set LineEdited = Me.txtIdLine
        Call Save
        Call Requery
        Me.lst.Selected(LineEdited) = True
    Else                    'иначе это новая запись и выделяем строку с последним IdLine
        Call Save
        Call Requery
        Set LineLastByID =  DMax("[IdLine]", "People")
        Me.lst.Selected(LineLastByID) = True
    End If
End Sub
[/vba]ps: подозреваю что и без переменных можно обойтись..


Сообщение отредактировал user0 - Воскресенье, 19.02.2017, 10:16
 
Ответить
СообщениеДоброго дня,

Подскажите, пожалуйста, как правильно сделать выделение в списке после requery.

Есть список, заполняемый через запрос. По клику на линии, данные подставляются в текстовые поля ниже, где редактируются и сохраняются, также может создаваться новая запись. Все работает, но хочется немного улучшить юзабилити, чтобы поле обновления списка при сохранении, выделялась либо так линия, которая редактировалась, либо последняя добавленная (не последняя/первая в списке, а по Id, полагаю через DMax, увы, руки кривы ) ).

Что-то вроде
[vba]
Код
Private Sub btnSave_Click()
    Dim LineEdited As Integer
    Dim LineLastByID As Integer

    If Me.txtIdLine <> "" Then          'если это редактируемая запись, то это поле не пустое (оно заполняется через Me.IdLine.Column(0) при requery)
        Set LineEdited = Me.txtIdLine
        Call Save
        Call Requery
        Me.lst.Selected(LineEdited) = True
    Else                    'иначе это новая запись и выделяем строку с последним IdLine
        Call Save
        Call Requery
        Set LineLastByID =  DMax("[IdLine]", "People")
        Me.lst.Selected(LineLastByID) = True
    End If
End Sub
[/vba]ps: подозреваю что и без переменных можно обойтись..

Автор - user0
Дата добавления - 19.02.2017 в 10:08
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!