Bom dia....
Sou um iniciante "mas muito iniciante mesmo", então ainda estou familiarizado com muita coisa, se puderem me ajudar agradeço desde já.
Estou procurando uma maneira de impedir que ao abrir determinado formulário acabe por engano alterando um cadastro já existente ao invés de inserir um novo,
achei em um outro blog uma compilação que considerei interessante, o problema é que o código aparenta uma falha "ou simplesmente é uma falha minha mesmo",
O detalhe é que a ultima postagem tem data de 30/julho/2003. E os programas já mudaram muito desde então.
O autor é:
Paulo Cordeiro Ramiro
Programador Pleno
" Se desejarem posto o link"
O detalhe é que outros usuário relataram o mesmo problema, mas não ouve mais discussões sobre este assunto no blog, o problema é que quando tento cancelar a operação de um novo cadastro "clicando no botão cancelar vem uma mensagem de "falha" no código VBA e abre uma tela para correção.
Se puderem me ajudar desde já agradeço.
Segue abaixo a instrução completa postada pelo autor.
"Tem uma forma bem dinâmica para você utilizar estes botões, vou tentar explicar da forma mais detalhada possível:
Primeiro crie os botões na seguintes botões usando o assistente do access:
Nome: novo
Comando: Adicionar Novo Registro
Legenda: &Novo
Nome: alterar
Comando: Nenhum
Legenda: &Alterar
Nome: excluir
Comando: Excluir Registro
Legenda: &Excluir
Nome: localizar
Comando: Localizar Registro
Legenda: &Localizar
Nome: primeiro
Comando: Ir para o Primeiro Registro
Nome: anterior
Comando: Ir para o Registro Anterior
Nome: próximo
Comando: Ir para o Próximo Registro
Nome: ultimo
Comando: Ir para o Ultimo Registro
* Depois crie as seguintes funções:
Function ativar_botoes()
novo.Caption = "&Novo"
alterar.Caption = "&Alterar"
excluir.Enabled = True
localizar.Enabled = True
primeiro.Enabled = True
anterior.Enabled = True
proximo.Enabled = True
ultimo.Enabled = True
me.allowedits = false
End Function
Function desativar_botoes()
novo.Caption = "&Salvar"
alterar.Caption = "&Cancelar"
excluir.Enabled = False
localizar.Enabled = False
primeiro.Enabled = False
anterior.Enabled = False
proximo.Enabled = False
ultimo.Enabled = False
me.allowedits = true
End Function
*Depois faça a seguinte alteração no procedimento de evento do botão novo (ao clicar):
Private Sub novo_Click()
On Error Resume Next
If novo.Caption = "&Novo" Then
Me.desativar_botoes
DoCmd.GoToRecord , , acNewRec
Else
Me.ativar_botoes
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
End if
End Sub
*No botão alterar faça o seguinte (ao clicar):
If alterar.Caption = "&Alterar" Then
Me.desativar_botoes
Else
Me.ativar_botoes Obs:"Quando depuro o erro aparece"
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
End if
End Sub"
O erro em questão é (Erro em tempo de execução "424" o objeto é obrigatório)
Sou um iniciante "mas muito iniciante mesmo", então ainda estou familiarizado com muita coisa, se puderem me ajudar agradeço desde já.
Estou procurando uma maneira de impedir que ao abrir determinado formulário acabe por engano alterando um cadastro já existente ao invés de inserir um novo,
achei em um outro blog uma compilação que considerei interessante, o problema é que o código aparenta uma falha "ou simplesmente é uma falha minha mesmo",
O detalhe é que a ultima postagem tem data de 30/julho/2003. E os programas já mudaram muito desde então.
O autor é:
Paulo Cordeiro Ramiro
Programador Pleno
" Se desejarem posto o link"
O detalhe é que outros usuário relataram o mesmo problema, mas não ouve mais discussões sobre este assunto no blog, o problema é que quando tento cancelar a operação de um novo cadastro "clicando no botão cancelar vem uma mensagem de "falha" no código VBA e abre uma tela para correção.
Se puderem me ajudar desde já agradeço.
Segue abaixo a instrução completa postada pelo autor.
"Tem uma forma bem dinâmica para você utilizar estes botões, vou tentar explicar da forma mais detalhada possível:
Primeiro crie os botões na seguintes botões usando o assistente do access:
Nome: novo
Comando: Adicionar Novo Registro
Legenda: &Novo
Nome: alterar
Comando: Nenhum
Legenda: &Alterar
Nome: excluir
Comando: Excluir Registro
Legenda: &Excluir
Nome: localizar
Comando: Localizar Registro
Legenda: &Localizar
Nome: primeiro
Comando: Ir para o Primeiro Registro
Nome: anterior
Comando: Ir para o Registro Anterior
Nome: próximo
Comando: Ir para o Próximo Registro
Nome: ultimo
Comando: Ir para o Ultimo Registro
* Depois crie as seguintes funções:
Function ativar_botoes()
novo.Caption = "&Novo"
alterar.Caption = "&Alterar"
excluir.Enabled = True
localizar.Enabled = True
primeiro.Enabled = True
anterior.Enabled = True
proximo.Enabled = True
ultimo.Enabled = True
me.allowedits = false
End Function
Function desativar_botoes()
novo.Caption = "&Salvar"
alterar.Caption = "&Cancelar"
excluir.Enabled = False
localizar.Enabled = False
primeiro.Enabled = False
anterior.Enabled = False
proximo.Enabled = False
ultimo.Enabled = False
me.allowedits = true
End Function
*Depois faça a seguinte alteração no procedimento de evento do botão novo (ao clicar):
Private Sub novo_Click()
On Error Resume Next
If novo.Caption = "&Novo" Then
Me.desativar_botoes
DoCmd.GoToRecord , , acNewRec
Else
Me.ativar_botoes
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
End if
End Sub
*No botão alterar faça o seguinte (ao clicar):
If alterar.Caption = "&Alterar" Then
Me.desativar_botoes
Else
Me.ativar_botoes Obs:"Quando depuro o erro aparece"
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
End if
End Sub"
O erro em questão é (Erro em tempo de execução "424" o objeto é obrigatório)