Установите фокус в текстовом поле

#vba #ms-access #ms-access-2010 #setfocus

#vba #ms-access #ms-access-2010 #setfocus

Вопрос:

Когда я набираю SetFocus текст, он игнорируется.

 If IsNull(Me.txtStaffID) Or IsNull(Me.txtPassword) Then
    MsgBox "You have not entered your Staff ID please do so"
    Me.txtStaffID.BackColor = vbRed
    Me.txtStaffID.SetFocus
    Exit Sub
 
ElseIf IsNull(Me.txtPassword) Then
    MsgBox "You have not entered your Password please do so"
    Me.txtPassword.BackColor = vbRed
    Me.txtPassword.SetFocus
    Exit Sub
 

Комментарии:

1. когда я набираю Setfocus, он игнорируется , что означают эти слова? Access удаляет это слово?

2. PS. КАК я понимаю txtStaffID , так и txtPassword есть текстовые поля на форме. Если это так, то они никогда не будут равны НУЛЮ. Вы должны проверить это Me.txtTextBox.Text = "" . Или, может быть, обрезать дополнительно — пользователь может ввести много пробелов…

Ответ №1:

Ваша логика неполна. Попробуйте:

 If IsNull(Me.txtStaffID) Then    
    MsgBox "You have not entered your Staff ID, please do so."
    Me.txtStaffID.BackColor = vbRed
    Me.txtStaffID.SetFocus
ElseIf IsNull(Me.txtPassword) Then
    MsgBox "You have not entered your Password, please do so."
    Me.txtPassword.BackColor = vbRed
    Me.txtPassword.SetFocus
End If