Boa tarde senhores...
Preciso que no meu form em Access 2007, ao sair de um controle (que é caixa de texto), ele percorra a tabela pra verificar se aquele valor já existe (se está se repetindo). Só que se já for um registro gravado, no qual estou passando pelos campos com a tecla TAB, é pra ele identificar e ignorar essa verificação, mas se for um registro novo, é pra verificar, dar uma mensagem que é valor já existente e retornar o foco pra ele mesmo, pra redigitar.
Já utilizo esse código, e quase me resolveu, mas pra verificar se registro novo, não encontrei o caminho das pedras.
Private Sub Numero_LostFocus()
Dim NUMsEncontrados As Recordset
If Not IsNull(Me.Numero) Then
strSql = "SELECT Numero FROM Relatorio WHERE Numero = " & Me.Numero & ""
Set NUMsEncontrados = CurrentDb.OpenRecordset(strSql)
If NUMsEncontrados.RecordCount <> 0 Then
MsgBox "Já existe registro com esse número.", vbInformation, "Erro"
Me.Numero.BackColor = vbYellow
Me!Numero.SetFocus
End If
End If
Me.Numero.BackColor = vbYellow
End Sub
Espero que tenha sido claro, aguardo seu apoio...
Preciso que no meu form em Access 2007, ao sair de um controle (que é caixa de texto), ele percorra a tabela pra verificar se aquele valor já existe (se está se repetindo). Só que se já for um registro gravado, no qual estou passando pelos campos com a tecla TAB, é pra ele identificar e ignorar essa verificação, mas se for um registro novo, é pra verificar, dar uma mensagem que é valor já existente e retornar o foco pra ele mesmo, pra redigitar.
Já utilizo esse código, e quase me resolveu, mas pra verificar se registro novo, não encontrei o caminho das pedras.
Private Sub Numero_LostFocus()
Dim NUMsEncontrados As Recordset
If Not IsNull(Me.Numero) Then
strSql = "SELECT Numero FROM Relatorio WHERE Numero = " & Me.Numero & ""
Set NUMsEncontrados = CurrentDb.OpenRecordset(strSql)
If NUMsEncontrados.RecordCount <> 0 Then
MsgBox "Já existe registro com esse número.", vbInformation, "Erro"
Me.Numero.BackColor = vbYellow
Me!Numero.SetFocus
End If
End If
Me.Numero.BackColor = vbYellow
End Sub
Espero que tenha sido claro, aguardo seu apoio...