Переключить видимость формы на true при вводе новой записи с тем же идентификационным номером - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть форма для отслеживания документов, представленных студентами.Когда кто-то вводит идентификатор студента в форму, у меня появляется запрос, который заполняет подчиненную форму с использованием StudentID, чтобы показать нам, отправил ли студент что-то ранее.

Это прекрасно работает, если уже существует соответствующий StudentID.Но если нет соответствующего идентификатора StudentID, я получаю

Ошибка времени выполнения '2427': Вы ввели выражение, которое не имеет значения.

Это вAfterUpdate Событие StudentID:

    DoCmd.OpenQuery "IntakePrevious_Q"
    DoCmd.Close acQuery, "IntakePrevious_Q", acSaveYes
    [Intake_QSF].Requery

    If Me.StudentID = ([Intake_QSF]![StudentID]) Then
        Me.Intake_QSF.Visible = True        
    End If

End Sub

1 Ответ

0 голосов
/ 06 февраля 2019

Проблема, как вы уже упоминали, в том, что нет набора записей.

Замените

If Me.StudentID = ([Intake_QSF]![StudentID]) Then
    Me.Intake_QSF.Visible = True        
End If

этим:

Me.Intake_QSF.Visible = Me.Intake_QSF.Form.Recordset.RecordCount > 0

Будет проверено,вообще есть записи и задайте логическое значение свойства Visible.

Редактировать:

Кроме того, вы можете проверить, является ли текущая запись подчиненной формы новой записью:

Me.Intake_QSF.Visible = Not Me.Intake_QSF.Form.NewRecord
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...