TRATAMENTO DE ERROS AO INCLUIR DADOS NO ACCESS

CLEBERBALMEIDA 25/09/2013 15:16:54
#429272
Pessoal, estou fazendo o seguinte tratamento de erro ao incluir dados na tabela do access 2007, ele me retorna com o erro da imagem em anexo, até ai o código ta dando certo.

Só estou querendo saber, se alguém sabe como posso informar na mensagem do erro, qual campo está duplicado, pois esse erro é porque o usuário está tentando cadastrar um cliente que já existe e os campos Nome, RG e CPF estão no access para não permitir duplicação. [txt-color=#e80000]Com isso, queria que na mensagem do erro, informasses os campos que não podem ficar duplicados.[/txt-color]

Try

Tabela1.CommandText = [Ô]INSERT INTO Clientes(Nome, RG, CPF, Nascimento, Email) [Ô] & [Ô] VALUES( [ô][Ô] & Me.txtNome.Text & [Ô][ô],[ô][Ô] & Me.txtRG.Text & [Ô][ô],[ô][Ô] & Me.txtCPF.Text & [Ô][ô],[ô][Ô] & Me.txtNascimento.Text & [Ô][ô],[ô][Ô] & Me.txtEmail.Text & [Ô][ô])[Ô]

Tabela1.ExecuteNonQuery()
txtNome.Text = [Ô][Ô]
txtRG.Text = [Ô][Ô]
txtCPF.Text = [Ô][Ô]
txtNascimento.Text = [Ô][Ô]
txtEmail.Text = [Ô][Ô]
txtNome.Focus()
Conexao.Close()
MsgBox([Ô]Cadastro realizado com sucesso![Ô])

Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Cadastro de clientes[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try
NILSONTRES 26/09/2013 01:31:28
#429287
O ADO NÃO TE INFORMA ISSO, VC QUE TEM QUE FAZER A VALIDAÇÃO VIA CODIGO, VERIFIQUE SE O CLIENTE JÁ EXISTE ANTES DA INSERÇÃO.
OMAR2011 26/09/2013 09:40:56
#429290
O seu insert não tem com da erro a não ser que esteja usando o Campo da tabela Nome como chave primária.
Eu no meu modo de entender não coloque chave primária como o campo nome.Existe pessoa com o mesmo
nome.Faça como o Nilsontres disse,mas usa o CPF pois ele é de âmbito nacional.
JBRAULIO 26/09/2013 14:28:37
#429303
Meu amigo o erro esta acontecendo porque você esta tentando duplicar um índice primário ou seja o mesmo nome para um campo primário ou único.

Veja na sua base de dados qua deste campo é primário caso deseja duplicar remova a o índice primário ou se for numero deixe como auto numeração sem informar o valor no seu insert.

Tópico encerrado , respostas não são mais permitidas