minha matricula é chave primaria e eu nao estou conseguindo tratar o erro pro progrrama seguir sem travar, o comando salvar nao esta nem dando nenhum aviso qdo gravo matricula duplicada, somente qdo faço outra ação qquer...
meu codigo esta assim...
Private Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "incluir"
dtaFuncionarios.Recordset.AddNew
Case "gravar"
If (dtaFuncionarios.Recordset.Find("matricula = '" & txtmatricula.Text & "'")) Then
MsgBox "Esta matricula já esta cadastrada"
Else
dtaFuncionarios.Recordset.Update
Case "localizar"
Dim criterio As Variant
Dim str As String
str = InputBox$("Digite a matrícula do funcionário: ", "Localizar Funcionario")
criterio = CVar(str)
If str <> Empty Then
dtaFuncionarios.Recordset.MoveMin
End If
If dtaFuncionarios.Recordset.EOF Then
MsgBox "registro não encontrado", vbCritical
End If
dtaFuncionarios.Recordset.Find "matricula = '" & criterio & "'"
Case "excluir"
If MsgBox("Confirma exclusão do Registro ->" & dtaFuncionarios.Recordset![matricula], vbQuestion + vbYesNo, "Excluir Matricula") = vbYes Then
dtaFuncionarios.Recordset.Delete
dtaFuncionarios.Recordset.MoveNext
If dtaFuncionarios.Recordset.BOF Then
dtaFuncionarios.Recordset.MoveNext
Else
If dtaFuncionarios.Recordset.EOF Then
dtaFuncionarios.Recordset.MovePrevious
End If
End If
End If
Case "anterior"
dtaFuncionarios.Recordset.MovePrevious
If dtaFuncionarios.Recordset.BOF Then
dtaFuncionarios.Recordset.MoveMax
End If
Case "proximo"
dtaFuncionarios.Recordset.MoveNext
If dtaFuncionarios.Recordset.EOF Then
dtaFuncionarios.Recordset.MoveMin
End If
Case "sair"
Unload Me
End Select
End Sub