Inquiridor
Duplicidade No !

Pergunta
-
Bom dia
Colaboradores
Eu tenho uma base de dados no access 2007 onde estou cadastrando dados de contatos, atraves de um formulário integrado com a tabela no bd. Alguém sabe um caminho mais simples para não cadastrar os mesmos dados de contatos sem dar duplicidade? Como faço ?
J3quinta-feira, 29 de outubro de 2009 11:24
Todas as Respostas
-
Faça o teste no evento Antes de atualizar do seu campo:
Private Sub NomeCidade_BeforeUpdate(Cancel As Integer)
'---------------------------------------------------------------------------------------
' Procedimento : NomeCidade_BeforeUpdate
' Data e Hora : 13/08/07 12:13
' Autor : Osmar José Correia Júnior
' O que faz : Verifica se a cidade já não está cadastrada. Se estiver, carrega
'---------------------------------------------------------------------------------------
On Error GoTo Erro_NomeCidade_BeforeUpdate
Dim strCodigo As String
Dim rs As DAO.RecordsetIf IsNull(DLookup("IdCidade", "tblCidades", "([NomeCidade] = '" & Forms![frmManutençãoDeCidades]![NomeCidade] & "')")) Then
GoTo Saida ' Não existe na tabela - Cadastra novo
End If
If MsgBox("A Cidade " & UCase(Me!NomeCidade) & " já existe. Deseja alterar?", vbExclamation + vbYesNo, "Já existe...") = vbNo Then
Cancel = True ' Cancela a entrada e permanece no campo
GoTo Saida
End If
strCodigo = Me!NomeCidade
Set rs = Me.RecordsetClone
rs.FindFirst "NomeCidade = '" & UCase(strCodigo) & "'"
Me.Undo
Me.Bookmark = rs.Bookmark
Set rs = Nothing
Saida:
Exit Sub
Erro_NomeCidade_BeforeUpdate:
MsgBox Err.Description & vbCrLf & vbCrLf & "No módulo Form_frmManutençãoDeCidades, tipo Documento VBA, procedimento NomeCidade_BeforeUpdate", vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
#If DESENV Then
Stop
Resume
#End If
Cancel = True
GoTo Saida
End Sub
Bem aventurados os pessimistas: eles fazem backups!!!quinta-feira, 29 de outubro de 2009 13:18 -
Onde eu posso escrever o código no access 2007? Não conheço muito bem ?
J3quinta-feira, 29 de outubro de 2009 23:44 -
Coloque o cursor no campo do formulário. Exiba as propriedades. Na aba Evento, dê dois cliques na linha Antes de atualizar (aparece [Procedimento de evento]). Clique no botão com ...
Bem aventurados os pessimistas: eles fazem backups!!!sexta-feira, 30 de outubro de 2009 11:52 -
Amigo, bom dia.
Fiz alterações em algumas variáveis e não funcionou ? Vê o código abaixo:
//------------------------------------------------------------------------------------
Private Sub Empresa_BeforeUpdate(Cancel As Integer)
On Error GoTo Erro_Empresa_BeforeUpdateDim strCodigo As String
Dim rs As DAO.RecordsetIf IsNull(DLookup("Id_prospects", "Prospects", "([Empresa] = '" & Forms![Form_Prospects]![Empresa] & "')")) Then
GoTo Saida ' Não existe na tabela - Cadastra novo
End If
If MsgBox("A Empresa " & UCase(Me!Empresa) & " já existe. Deseja alterar?", vbExclamation + vbYesNo, "Já existe...") = vbNo Then
Cancel = True ' Cancela a entrada e permanece no campo
GoTo Saida
End If
strCodigo = Me!Empresa
Set rs = Me.RecordsetClone
rs.FindFirst "Empresa = '" & UCase(strCodigo) & "'"
Me.Undo
Me.Bookmark = rs.Bookmark
Set rs = Nothing
Saida:
Exit Sub
Erro_Empresa_BeforeUpdate:
MsgBox Err.Description & vbCrLf & vbCrLf & "No módulo Form_Prospects, tipo Documento VBA, procedimento Empresa_BeforeUpdate", vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
#If DESENV Then
Stop
Resume
#End If
Cancel = True
GoTo Saida
End Sub
J3sexta-feira, 30 de outubro de 2009 13:07 -
O que acontece? Tem mensagem de erro? Se sim, em que linha?
Bem aventurados os pessimistas: eles fazem backups!!!sexta-feira, 30 de outubro de 2009 14:39 -
Não aparece nenhuma mensagem de erro.
J3sábado, 31 de outubro de 2009 10:57 -
Verifique nesta linha:
If IsNull(DLookup("Id_prospects", "Prospects", "[Empresa] = '" & Forms![Form_Prospects]![Empresa] & "'")) Then
Se Forms![Form_Prospects]![Empresa] é texto deve ser codificado:
If IsNull(DLookup("Id_prospects", "Prospects", "[Empresa] = '" & Forms![Form_Prospects]![Empresa] & "'")) Then
Se Forms![Form_Prospects]![Empresa] é data deve ser codificado
If IsNull(DLookup("Id_prospects", "Prospects", "[Empresa] = #" & Format(Forms![Form_Prospects]![Empresa], "mm/dd/yyyy") & "#")) Then
Se Forms![Form_Prospects]![Empresa] é numérico deve ser codificado
If IsNull(DLookup("Id_prospects", "Prospects", "[Empresa] = " & Forms![Form_Prospects]![Empresa])) Then
Bem aventurados os pessimistas: eles fazem backups!!!terça-feira, 3 de novembro de 2009 12:53