Моя таблица не обновляется со вторыми записями в поле Длинный текст - PullRequest
0 голосов
/ 22 мая 2018

Я использую код ниже в моем Access 2016, чтобы вести историю комментариев.

Где AddNewComment - это несвязанный текстовый ящик, а комментарии - это текстовое поле, которое не «включено».Поэтому, как только пользователь вводит текст в AddNewComment и нажимает кнопку «Сохранить комментарий», он обновляет поле «Комментарии» датой и временем.

Проблема возникает, даже если у меня будет более одного комментария, я вижу только первый комментарий в таблице;невозможно просмотреть другие комментарии в таблице.

Имя поля - «Комментарии», тип данных - «Длинный текст».

**Code** 

Private Sub Save_Comment_Click()

If (IsNull(AddNewComment.Value)) Then
    MsgBox ("Please Enter a Comment before clicking" & _
            "on the Save Comment buttonn.")
    Exit Sub
End If

If (IsNull(Comments.Value)) Then
    Comments.Value = AddNewComment.Value & " ~ " & _
        VBA.DateTime.Date & " ~ " & VBA.DateTime.Time

Else
    Comments.Value = Comments.Value & _
        vbNewLine & vbNewLine & _
        AddNewComment.Value & " ~ " & _
        VBA.DateTime.Date & " ~ " & VBA.DateTime.Time

End If

    AddNewComment.Value = ""

End Sub

1 Ответ

0 голосов
/ 24 мая 2018

Чтобы избежать путаницы с исчезающими комментариями в нижней части поля (как указано в комментариях), вы можете оставить самые последние комментарии в верхней части.Таким образом, вы всегда будете видеть то, что является самым последним, даже если размер поля в форме слишком мал для всего.

Вы также можете сократить весь код, используя функцию Nz, заменяя нользначение в необновленном Comments с пустой строкой ("").

Private Sub Save_Comment_Click()

If IsNull(AddNewComment.Value) Then
    MsgBox ("Please Enter a Comment before clicking " & _
            "on the Save Comment button.")
Else
    Comments.Value = AddNewComment.Value & " ~ " & _
        VBA.DateTime.Date & " ~ " & VBA.DateTime.Time & _
        vbNewLine & vbNewLine & Nz(Comments.Value, "")
    AddNewComment.Value = Null
End If

End Sub
...