Olá.
Tenho este código numa BD que vi num tópico:
https://www.maximoaccess.com/t26343-representacao-do-campo-em-vba
Private Sub EMPRESA_BeforeUpdate(Cancel As Integer)
On Error GoTo Err_EMPRESA_BeforeUpdate
Dim Mess As String
'set a variavel recordset
Dim Tabela As Recordset
Set Tabela = Me.RecordsetClone
With Tabela
'verifica se o cliente já está Inserido
.FindFirst "EMPRESA= '" & Me.EMPRESA & "'"
'se encontrou então
If Not .NoMatch Then
Cancel = True
'Desfaz registro, não é novo
Mess = MsgBox("Esta EMPRESA já existe, quer alterar os dados?", vbQuestion + vbYesNo, "Aviso")
If Mess = vbYes Then
Me.Undo 'desfaz a digitação.
' MsgBox "EMPRESA selecionada !", vbInformation, "Aviso"
Me.Bookmark = .Bookmark
'exibe o registro já Registado
ElseIf Mess = vbNo Then
Ok = MsgBox("Adicionar nova empresa " & EMPRESA & " ?", vbQuestion + vbYesNo, "")
If Ok = vbYes Then
Cancel = False ' registo mantem-se
ElseIf Ok = vbNo Then
DoCmd.Close acForm, "CONTACTOS"
End If
'Sai da SUB
Exit Sub
End If
End If
End With
Set Tabela = Nothing
Err_EMPRESA_BeforeUpdate:
Exit Sub
End Sub
e então verifica se há nome Empresa duplicado e queria que ignorasse acentos, espaço e vírgulas , através de:
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Tabela!EMPRESA, "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), " ", ""), ",", "") = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Me.EMPRESA, "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), " ", ""), ",", "")
como no tópico: https://www.maximoaccess.com/t6443-resolvidonao-aceitar-dados-iguais-ignorando-espaco-e-acentos
como faço?
Tenho este código numa BD que vi num tópico:
https://www.maximoaccess.com/t26343-representacao-do-campo-em-vba
Private Sub EMPRESA_BeforeUpdate(Cancel As Integer)
On Error GoTo Err_EMPRESA_BeforeUpdate
Dim Mess As String
'set a variavel recordset
Dim Tabela As Recordset
Set Tabela = Me.RecordsetClone
With Tabela
'verifica se o cliente já está Inserido
.FindFirst "EMPRESA= '" & Me.EMPRESA & "'"
'se encontrou então
If Not .NoMatch Then
Cancel = True
'Desfaz registro, não é novo
Mess = MsgBox("Esta EMPRESA já existe, quer alterar os dados?", vbQuestion + vbYesNo, "Aviso")
If Mess = vbYes Then
Me.Undo 'desfaz a digitação.
' MsgBox "EMPRESA selecionada !", vbInformation, "Aviso"
Me.Bookmark = .Bookmark
'exibe o registro já Registado
ElseIf Mess = vbNo Then
Ok = MsgBox("Adicionar nova empresa " & EMPRESA & " ?", vbQuestion + vbYesNo, "")
If Ok = vbYes Then
Cancel = False ' registo mantem-se
ElseIf Ok = vbNo Then
DoCmd.Close acForm, "CONTACTOS"
End If
'Sai da SUB
Exit Sub
End If
End If
End With
Set Tabela = Nothing
Err_EMPRESA_BeforeUpdate:
Exit Sub
End Sub
e então verifica se há nome Empresa duplicado e queria que ignorasse acentos, espaço e vírgulas , através de:
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Tabela!EMPRESA, "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), " ", ""), ",", "") = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Me.EMPRESA, "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), " ", ""), ",", "")
como no tópico: https://www.maximoaccess.com/t6443-resolvidonao-aceitar-dados-iguais-ignorando-espaco-e-acentos
como faço?
Última edição por alpedro em 27/4/2016, 01:23, editado 5 vez(es)