Невозможно редактировать запись после немедленного обновления той же записи - PullRequest
0 голосов
/ 19 июня 2019

У меня есть форма, которая используется для обновления статуса проекта. Основная форма используется для фильтрации по имени / типу / статусу, у меня нет проблем с этим, и я не верю, что это влияет на проблему в подчиненной форме.

Моя подчиненная форма - это таблица данных, набор записей которой обновляется на основе вышеуказанных фильтров. Статус - это столбец таблицы данных, который является списком. Я сталкиваюсь с проблемой, когда я делаю следующие команды: 1) Обновить значение в строке 2) Попробуйте сделать второе обновление для той же строки

Если я выполню все три шага, я не смогу изменить второе значение (или оригинал в этом отношении). Если я внесу изменение в новую строку, проблем не будет.

Я пробовал несколько разных способов исправить проблему.

Например, ни один из них, кажется, не решает проблему:

Private Sub StatusID_AfterUpdate()
    If Me.Dirty Then
    Me.Dirty = False
End If
End Sub

Кроме того, это сохраняет, но не позволяет мне редактировать без изменения сначала другой строки:

Private Sub StatusID_AfterUpdate()
    DoCmd.RunCommand acCmdSaveRecord
End Sub

Единственный способ решить проблему - добавить кнопку, которая запускает Me.Refresh. Но я бы предпочел, если бы я мог получить доступ, чтобы сделать это автоматически. Интересно, относится ли проблема к данным, находящимся в подчиненной форме?

1 Ответ

0 голосов
/ 19 июня 2019

Итак, напечатав это, я кое о чем подумал.Я предполагаю, что должен оставить вопрос, если это кому-нибудь поможет.

Чтобы решить проблему, я должен использовать следующий код:

Private Sub StatusID_AfterUpdate()
    Forms!ProjectList.Refresh
End Sub

Если я поставлю только Me.Refresh, я думаю, так какподчиненная форма является активным листом, она работала некорректно.Вот почему кнопка работала, она была на главной форме.

...