Tenho um formulário na qual eu cadastro informações imobiliárias. No formulário tem uma multipage (Page1, Page2 e Page3).
Coloquei uma rotina no botão "Salvar" na qual impede que o cadastro seja salvo se algum TextBox ficar vazio (sem preenchimento).
Na Page1 a função funciona perfeitamente até o último Texbox e não dá erro. Mas quando deixo o primeiro Texbox da Page 2 sem preenchimento, o sistema pede o preenchimento e em seguida dá um erro de VBA dizendo o seguinte:
"Erro em tempo de execução '2110':
Não é possível mover o foco para o controle porque está invisível, não ativado ou é de um tipo que não aceita o foco."
O código usado no botão Salvar é o seguinte:
Private Sub cmdSalvar_Click()
If Me.txtName.Value = "" Then
MsgBox "Por favor entre com o nome do adquirente.", vbExclamation, "Cadastro."
Me.txtName.SetFocus
Exit Sub
End If
If Me.txtEndereco.Value = "" Then
MsgBox "Por favor entre com o endereço do adquirente.", vbExclamation, "Cadastro"
Me.txtEndereco.SetFocus
Exit Sub
End If
If Me.txtNumero.Value = "" Then
MsgBox "Por favor escolha um número residencial do adquirente.", vbExclamation, "Cadastro"
Me.txtNumero.SetFocus
Exit Sub
End If
If Me.txtBairro.Value = "" Then
MsgBox "Por favor entre com o bairro do adquirente.", vbExclamation, "Cadastro"
Me.txtNeighb.SetFocus
Exit Sub
End If
If Me.txtCidade = "" Then
MsgBox "Por favor entre com o complemento a cidade do adquirente.", vbExclamation, "Cadastro"
Me.txtCity.SetFocus
Exit Sub
End If
If Me.txtObservacao = "" Then
MsgBox "Por favor entre com Observação.", vbExclamation, "Cadastro"
Me.txtObservacao.SetFocus
Exit Sub
End If
If Me.Valor.Value = "" Then
MsgBox "Por favor entre com o valor.", vbExclamation, "Cadastro"
Me.Valor.SetFocus
Exit Sub
End If
If txtName.Enabled = True Then
If Not IsNumeric(lblCod.Caption) = True Then
lsInserirStudent
Sheets("Menu").Activate
Else
lsAlterarStudent
Sheets("Menu").Activate
End If
lsDesabilitar
MsgBox "Registro Salvo!"
End If
End Sub
Obs.: Na Page1 tem os Textbox: txtName, txtEndereco, txtNumero, txtBairro e txtCidade. (txtCidade é o último Textbox da Page1)
Na Page2 tem os Textbox: txtObservacao e txtValor.
Na Page3 tem os Textbox: txtArea, txtModulo e txtData.
Então se eu não preencher o primeiro Textbox da Page2, o sistema me pede para preencher e em seguida mostra o erro acima descrito.
Pergunta
master2005
Bom dia a todos,
Tenho um formulário na qual eu cadastro informações imobiliárias. No formulário tem uma multipage (Page1, Page2 e Page3).
Coloquei uma rotina no botão "Salvar" na qual impede que o cadastro seja salvo se algum TextBox ficar vazio (sem preenchimento).
Na Page1 a função funciona perfeitamente até o último Texbox e não dá erro. Mas quando deixo o primeiro Texbox da Page 2 sem preenchimento, o sistema pede o preenchimento e em seguida dá um erro de VBA dizendo o seguinte:
"Erro em tempo de execução '2110':
Não é possível mover o foco para o controle porque está invisível, não ativado ou é de um tipo que não aceita o foco."
O código usado no botão Salvar é o seguinte:
Private Sub cmdSalvar_Click()
If Me.txtName.Value = "" Then
MsgBox "Por favor entre com o nome do adquirente.", vbExclamation, "Cadastro."
Me.txtName.SetFocus
Exit Sub
End If
If Me.txtEndereco.Value = "" Then
MsgBox "Por favor entre com o endereço do adquirente.", vbExclamation, "Cadastro"
Me.txtEndereco.SetFocus
Exit Sub
End If
If Me.txtNumero.Value = "" Then
MsgBox "Por favor escolha um número residencial do adquirente.", vbExclamation, "Cadastro"
Me.txtNumero.SetFocus
Exit Sub
End If
If Me.txtBairro.Value = "" Then
MsgBox "Por favor entre com o bairro do adquirente.", vbExclamation, "Cadastro"
Me.txtNeighb.SetFocus
Exit Sub
End If
If Me.txtCidade = "" Then
MsgBox "Por favor entre com o complemento a cidade do adquirente.", vbExclamation, "Cadastro"
Me.txtCity.SetFocus
Exit Sub
End If
If Me.txtObservacao = "" Then
MsgBox "Por favor entre com Observação.", vbExclamation, "Cadastro"
Me.txtObservacao.SetFocus
Exit Sub
End If
If Me.Valor.Value = "" Then
MsgBox "Por favor entre com o valor.", vbExclamation, "Cadastro"
Me.Valor.SetFocus
Exit Sub
End If
If txtName.Enabled = True Then
If Not IsNumeric(lblCod.Caption) = True Then
lsInserirStudent
Sheets("Menu").Activate
Else
lsAlterarStudent
Sheets("Menu").Activate
End If
lsDesabilitar
MsgBox "Registro Salvo!"
End If
End Sub
Obs.: Na Page1 tem os Textbox: txtName, txtEndereco, txtNumero, txtBairro e txtCidade. (txtCidade é o último Textbox da Page1)
Na Page2 tem os Textbox: txtObservacao e txtValor.
Na Page3 tem os Textbox: txtArea, txtModulo e txtData.
Então se eu não preencher o primeiro Textbox da Page2, o sistema me pede para preencher e em seguida mostra o erro acima descrito.
Como posso corrigir isso?
Abraços a todos!!!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.