Boa tarde
Criei um banco de dados que considero simples no Access 2013 (6 tabelas, 6 formulários).
No formulário fml_CadFuncionarios, que obtem dados da tabela tbl_CadFuncionarios, criei um botão NOVO FUNCIONARIO com um evento "ao clicar" como procedimento do evento, que obedece a:
Private Sub botao_novo_func_Click()
Me.botao_novo_func.Enabled = False
Me.COD_tbl_CadFuncionarios.Enabled = True
Me.SENHA.Enabled = True
Me.NOME.Enabled = True
Me.TELEFONE.Enabled = True
Me.EMPRESA.Enabled = True
Me.CENTRO_CUSTO.Enabled = True
Me.SENHA.SetFocus
DoCmd.GoToRecord acDataForm, "fml_CadFuncionarios", acNewRec
End Sub
O objetivo disso é desabilitar alguns botões, habilitar outros, habilitar campos. Isso está funcionando.
Mas eu cometi o erro de não observar que o computador onde isso será usado tem licença para o Access 2007. Tentei salvar o banco do Access 2013 como Access 2007 mas ele não deixou.
Como o banco de dados é pequeno, criei ele do zero no Access 2007. Mas ao tentar usar os mesmos comandos tenho um erro. Abaixo os comandos:
Private Sub botao_novo_func_Click()
Me.botao_novo_func.Enabled = False
Me.COD_tbl_CadFuncionarios.Enabled = True
Me.SENHA.Enabled = True
Me.NOME.Enabled = True
Me.TELEFONE.Enabled = True
Me.EMPRESA.Enabled = True
Me.CENTRO_CUSTO.Enabled = True
Me.SENHA.SetFocus
DoCmd.GoToRecord acDataForm, "fml_CadFuncionarios", acNewRec
End Sub
Ao clicar no botão, recebo a mensagem:
Microsoft Visual Basic
Erro em tempo de execução '2164':
Você não poderá desabilitar um controle enquanto ele tiver o foco.
Clicando em depurar, o Visual Basic indicar a linha de comando Me.botao_novo_func.Enabled = False
Se eu apagar essa linha, a execução do botão funciona, habilitando os campos do formulário.
Conferi o nome do botão com o que eu digitei na linha de comando e estão corretos, até porque o Access sugere o nome.
Procurei algumas dicas para isso na internet e no fórum mas não encontrei uma solução. Pelo que entendo eu não estou digitando o comando errado. Pode ser que o Access 2007 não tenha essa função como o Access 2013 tem?
Agradeço sua colaboração desde já!!!!
Enio Eltz Filho.
Criei um banco de dados que considero simples no Access 2013 (6 tabelas, 6 formulários).
No formulário fml_CadFuncionarios, que obtem dados da tabela tbl_CadFuncionarios, criei um botão NOVO FUNCIONARIO com um evento "ao clicar" como procedimento do evento, que obedece a:
Private Sub botao_novo_func_Click()
Me.botao_novo_func.Enabled = False
Me.COD_tbl_CadFuncionarios.Enabled = True
Me.SENHA.Enabled = True
Me.NOME.Enabled = True
Me.TELEFONE.Enabled = True
Me.EMPRESA.Enabled = True
Me.CENTRO_CUSTO.Enabled = True
Me.SENHA.SetFocus
DoCmd.GoToRecord acDataForm, "fml_CadFuncionarios", acNewRec
End Sub
O objetivo disso é desabilitar alguns botões, habilitar outros, habilitar campos. Isso está funcionando.
Mas eu cometi o erro de não observar que o computador onde isso será usado tem licença para o Access 2007. Tentei salvar o banco do Access 2013 como Access 2007 mas ele não deixou.
Como o banco de dados é pequeno, criei ele do zero no Access 2007. Mas ao tentar usar os mesmos comandos tenho um erro. Abaixo os comandos:
Private Sub botao_novo_func_Click()
Me.botao_novo_func.Enabled = False
Me.COD_tbl_CadFuncionarios.Enabled = True
Me.SENHA.Enabled = True
Me.NOME.Enabled = True
Me.TELEFONE.Enabled = True
Me.EMPRESA.Enabled = True
Me.CENTRO_CUSTO.Enabled = True
Me.SENHA.SetFocus
DoCmd.GoToRecord acDataForm, "fml_CadFuncionarios", acNewRec
End Sub
Ao clicar no botão, recebo a mensagem:
Microsoft Visual Basic
Erro em tempo de execução '2164':
Você não poderá desabilitar um controle enquanto ele tiver o foco.
Clicando em depurar, o Visual Basic indicar a linha de comando Me.botao_novo_func.Enabled = False
Se eu apagar essa linha, a execução do botão funciona, habilitando os campos do formulário.
Conferi o nome do botão com o que eu digitei na linha de comando e estão corretos, até porque o Access sugere o nome.
Procurei algumas dicas para isso na internet e no fórum mas não encontrei uma solução. Pelo que entendo eu não estou digitando o comando errado. Pode ser que o Access 2007 não tenha essa função como o Access 2013 tem?
Agradeço sua colaboração desde já!!!!
Enio Eltz Filho.