#ms-access #vba
#ms-access #vba
Вопрос:
Я пытаюсь создать форму MS Access, в которой пользователь вводил бы комментарии в текстовое поле (ввод), и текст каждый раз добавлялся бы к сводному окну, которое было бы выделено серым цветом и не редактировалось.
Входные комментарии будут автоматически отформатированы, чтобы включить дату, метку времени и имя пользователя, используя следующий код:
Private Sub IncidentDescriptionInput_AfterUpdate()
Dim Output As String
Output = Me!IncidentDescriptionInput.Value
Output = Output amp; " " amp; Format(Now(), "dd-mmm-yy") amp; "/" amp; Format(Now(), "hh:nn") amp; "/" amp; Environ("UserName") amp; ";"
Me!IncidentDescriptionInput.Value = Output
End Sub
Комментарии:
1. И каков ваш точный вопрос? Что вы уже написали, чтобы попытаться выполнить это?
Ответ №1:
Ваш текущий код уже демонстрирует методы, необходимые для достижения вашей цели:
-
Обновление значения, хранящегося в элементе управления формой, как часть обработчика события для
AfterUpdate
события. Вы уже делаете это в своем существующем коде сMe!IncidentDescriptionInput.Value = Output
-
Извлечение существующего значения элемента управления формой для объединения с другой строкой. Вы уже делаете это в своем существующем коде с
Output = Me!IncidentDescriptionInput.Value
-
Объединение существующего значения элемента управления формы с другой строкой. Вы уже делаете это в своем существующем коде с
Output = Output amp; " " amp; Format(Now(), "dd-mmm-yy") ...
Итак, у вас уже есть строительные блоки, необходимые для достижения желаемого результата.
Предполагая, что вызывается окно сводки IncidentDescriptionSummary
, тогда код может быть изменен на что-то вроде:
Private Sub IncidentDescriptionInput_AfterUpdate()
Dim Output As String
Output = IncidentDescriptionInput amp; " " amp; Format(Now(), "dd-mmm-yy/hh:nn/") amp; Environ("UserName") amp; ";"
IncidentDescriptionInput = Output
IncidentDescriptionSummary = IncidentDescriptionSummary amp; vbCrLf amp; Output
End Sub