#ms-access #vba
#ms-access #vba
Вопрос:
У меня есть простая форма MS Access, в которой есть 3 объекта: текстовое поле, поле со списком и кнопка. Предполагаемое использование формы заключается в следующем: пользователь вводит имя в текстовое поле, выбирает элемент из списка, затем нажимает кнопку, чтобы добавить данные в таблицу.
Однако, когда я нажимаю на кнопку, я продолжаю получать сообщение об ошибке: «Вы не можете ссылаться на свойство или метод для элемента управления, если элемент управления не имеет фокуса».
Ниже приведен мой код. Спасибо!
Private Sub addRecord_button_Click()
Dim CustomerName As String
Dim CustomerType As String
On Error GoTo Errhandler
CustomerName = "[name not selected]"
CustomerType = "[type not selected]"
CustomerName = Customer_TextBox.Text
Select Case Type_ListBox.ListIndex
Case 0
CustomerType = "Type 1"
Case 1
CustomerType = "Type 2"
Case 2
CustomerType = "Type 3"
End Select
'MsgBox ("Name: " amp; CustomerName amp; " and Type: " amp; CustomerType)
DoCmd.RunSQL "INSERT INTO Customer VALUES (CustomerName, CustomerType);"
Errhandler:
MsgBox ("The following error has occured: " amp; Err amp; " - " amp; Error(Err))
End Sub
Ответ №1:
.Text
Свойство можно использовать только тогда, когда текстовое поле имеет фокус. Попробуйте .Value
вместо этого использовать свойство.
Попробуйте заменить строку ниже
CustomerName = Customer_TextBox.Text
с
CustomerName = Customer_TextBox.Value
Комментарии:
1. Или полностью исключите свойство, т. Е.
Me!Customer_Textbox
(Также действительно следует указывать родительскую форму, т. Е. Me!, поскольку это отличает ее от ссылки на переменную).