Объединить 2 текстовых поля в другое текстовое поле - PullRequest
0 голосов
/ 20 апреля 2020

, поэтому я все еще новичок в доступе, но пытаюсь автоматически заполнить третье текстовое поле на основе двух других текстовых полей. у меня есть одно текстовое поле с просьбой указать DOB (мм / дд / гггг) и второе текстовое поле для их фамилии. поэтому третье текстовое поле будет автоматически генерировать объединенное значение. я знаю, что мое уравнение основы c будет

=Left([Last Name],3)+Right([DOB],7)

Пример: день рождения - 01.10.1978 Фамилия - Смит Результат - Smi01 / 1978

любая помощь будет отличной

1 Ответ

0 голосов
/ 20 апреля 2020

Вот код, который вы можете вставить в таблицу кодов вашей пользовательской формы.

Option Explicit

Private Sub TextBox1_Change()
    ' runs after every character typed
    SetTbx3 False
End Sub

Private Sub TextBox1_AfterUpdate()
    ' runs when the focus leaves TextBox1
    SetTbx3 True
End Sub

Private Sub TextBox2_Change()
    ' runs after every character typed
    SetTbx3 False
End Sub

Private Sub TextBox2_AfterUpdate()
    ' runs when the focus leaves TextBox2
    SetTbx3 True
End Sub

Private Sub SetTbx3(ByVal Complete As Boolean)

    If IsDate(TextBox2.Value) And (Complete = True) Then
        TextBox3.Value = UCase(Left(TextBox1.Value, 3)) & Format(CDate(TextBox2.Value), "mm/yyyy")
    Else
        TextBox3.Value = Left(TextBox1.Value, 3) & Right(TextBox2.Value, 7)
    End If
End Sub

Есть 3 текстовых поля: TextBox1 (Имя), TextBox2 (DOB) и TextBox3 (Имя файла). Для каждого из TextBox1 и TextBox2 есть две процедуры обработки событий: Change и AfterUpdate. Событие Change наступает при вводе символа в текстовое поле. Событие обновления происходит, когда вы перемещаете курсор из текстового поля после редактирования. Это только для демонстрации. Вам могут не понадобиться оба.

Все эти события вызывают Sub SetTbx3, который требует один аргумент, «Complete», который, если True, означает, что вызов произошел из события AfterUpdate, SetTbx3 создаст другую строку для TextBox3 в зависимости от того, являются ли аргументы полными или нет, но все равно предоставит строку, основанную на введенной строке, вместо введенной даты DOB, если введенная дата не распознается как дата.

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