Esse é o código que tenho.
Option Compare Database
Private Sub cbocliente_AfterUpdate()
DoCmd.ApplyFilter , "CodigoCliente = " & Me!cbocliente.Column(0) ' Codigocliente chave primaria, cbocliente, onde vai buscar o nome desejado
Me!cbocliente = Null 'deixa a combo vazia, limpa.
End Sub
Private Sub Form_Load()
Me.Section(0).BackColor = 12180223 ' muda a cor do corpo do formulario
Me.CabeçalhoDoFormulário.BackColor = 12180223 ' muda a cor do cabeçalho
DoCmd.GoToRecord , , acNewRec ' esse comando, inicia com um novo registro, deixando o formulario em branco
' os camandos abaixo trava os campos
CodigoCliente.Enabled = False
Nome.Enabled = False
CPF.Enabled = False
FoneResidencial.Enabled = False
FoneComercial.Enabled = False
Celular.Enabled = False
Email.Enabled = False
Endereco.Enabled = False
PontoReferencia.Enabled = False
Observacao.Enabled = False
End Sub
Private Sub Form_Timer()
Me.TimerInterval = 500
Me.Refresh
End Sub
Para cadastrar novo cria um botão cadastrar e outro salvar coloca este código no evento clicar de cada um.
Private Sub bt_novo_cadastro_Click()
' ao apertar o botão aparece a seguinte mensagem
If MsgBox(" Deseja cadastrar um novo cliente ?", vbYesNo + vbDefaultButton1 + vbInformation, "Mensagem") = vbYes Then
DoCmd.GoToRecord , , acNewRec ' quando clica no ok, abre para inserir o registro.
Me.Section(0).BackColor = 11389934 ' muda a cor do corpo do formulario
Me.CabeçalhoDoFormulário.BackColor = 11389934 ' muda a cor do cabeçalho
' as linhas abaixo liberam os campos para a inserção de dados
Nome.Enabled = True
CPF.Enabled = True
FoneResidencial.Enabled = True
FoneComercial.Enabled = True
Celular.Enabled = True
Email.Enabled = True
Endereco.Enabled = True
PontoReferencia.Enabled = True
Observacao.Enabled = True
Else
MsgBox " Ação cancelada, registro não cadastrado.", vbInformation, "Operação Cancelada"
End If
End Sub
Private Sub bt_salvar_Click()
If IsNull(Me.CodigoCliente) Then
MsgBox "Formulário em branco. Não foi possível salvar.", vbInformation, "Salvar"
Else
If Me.Dirty Then
If MsgBox(" Deseja salvar esse cadastro ?", vbYesNo + vbDefaultButton1 + vbInformation, "Salvar") = vbYes Then
DoCmd.Save ' salva o registro
DoCmd.RunCommand acCmdRefresh ' atualiza a tabela e o formulario
MsgBox " Cadastro salvo com sucesso!", vbOKOnly, "Cadastro Salvo"
Me.Refresh
DoCmd.GoToRecord , , acNewRec
End If
End If
End If
'ao apertar ok, trava os campos abaixo
CodigoCliente.Enabled = False
Nome.Enabled = False
CPF.Enabled = False
FoneResidencial.Enabled = False
FoneComercial.Enabled = False
Celular.Enabled = False
Email.Enabled = False
Endereco.Enabled = False
PontoReferencia.Enabled = False
Observacao.Enabled = False
Me.Section(0).BackColor = 12180223 ' muda a cor do corpo do formulario
Me.CabeçalhoDoFormulário.BackColor = 12180223 ' muda a cor do cabeçalho
End Sub
O meu eu fiz assim.