Автоматическое заполнение текстового поля в форме доступа с помощью PhoneContacts из поля таблицы каждый раз, когда установлены флажки - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь создать базу данных MS Access, которую можно использовать для отправки больших объемов. Проблема, с которой я сталкиваюсь, связана с тем, как текстовое поле получателя (ttcontact) в форме может быть заполнено телефонными номерами (разделенными запятыми), когда они отмечены флажками.

Изображение формы

Image of Form

Я немного исследовал и смог придумать коды VBA ниже, но они отображают только последний контакт, отмеченный в окошке

Private Sub Select_AfterUpdate()
If Me.Select.Value = True Then
Me.ttContact.Value = Me.MobilePhone.Value
' etc.
Else: Me.ttContact.Value = Null
End If
End Sub

Пожалуйста, помогите

1 Ответ

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

Чтобы добавить данные, необходимо объединить их с существующим содержимым ttContact. И вместо того, чтобы устанавливать ttContact в Null при попытке удалить данные, вам нужно использовать функцию Replace. Я изменил ваш код:

Private Sub Select_Click()
    If Me.Select = True Then
        If InStr(Me!ttContact, Me!MobilePhone) = 0 Then '   only add if not already present
            Me!ttContact = Me!ttContact & "," & Me!MobilePhone
        End If
    Else
        Me!ttContact = Replace(Nz(Me!ttContact, ""), "," & Me!MobilePhone, "")
        Me!ttContact = Replace(Nz(Me!ttContact, ""), Me!MobilePhone & ",", "")
    End If
    If Left(Me!ttContact, 1) = "," Then Me!ttContact = Mid(Me!ttContact, 2)
    If Right(Me!ttContact, 1) = "," Then Me!ttContact = Left(Me!ttContact, Len(Me!ttContact) - 1)
End Sub

С уважением,

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