Boa tarde, tenho um código que uso para nomes duplicados e funciona muito bem em alguns formulários, todos pop-ups, mas outros não funciona. Não descobri porque.
Os formulários são baseados em tabelas fixas. Ex:
Tbl_Referente
Cod_ref - código autonumeração
referente - caixa de texto (nome do referente técnico)
contato - caixa de texto com máscara para número de telefone
Segue o código. Nâo lembro a autoria. Não aparece mensagem de erro; simplesmente ele não breca a duplicação. Coloquei no evento "ao ocorrer erro".
Private Sub Form_Error(DataErr As Integer, Response As Integer)
On Error GoTo myError
Const Err_ValorDuplicado = 3022 'Erro gerado por valor duplicado
Dim strTexto As String, strTitulo As String
Dim intTipo As Integer, resposta As Integer
strTexto = "Este nome já existe. Digite um novo ou escolha na lista."
intTipo = vbOK + vbInformation
strTitulo = "Valor Duplicado"
If Err_ValorDuplicado Then
'Se o valor estiver duplicado, exibe uma mensagem.
resposta = msgbox(strTexto, intTipo, strTitulo)
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
Response = acDataErrContinue
End If
Error_Exit:
Exit Sub
myError:
msgbox Err.Description
Resume Error_Exit
End Sub
Os formulários são baseados em tabelas fixas. Ex:
Tbl_Referente
Cod_ref - código autonumeração
referente - caixa de texto (nome do referente técnico)
contato - caixa de texto com máscara para número de telefone
Segue o código. Nâo lembro a autoria. Não aparece mensagem de erro; simplesmente ele não breca a duplicação. Coloquei no evento "ao ocorrer erro".
Private Sub Form_Error(DataErr As Integer, Response As Integer)
On Error GoTo myError
Const Err_ValorDuplicado = 3022 'Erro gerado por valor duplicado
Dim strTexto As String, strTitulo As String
Dim intTipo As Integer, resposta As Integer
strTexto = "Este nome já existe. Digite um novo ou escolha na lista."
intTipo = vbOK + vbInformation
strTitulo = "Valor Duplicado"
If Err_ValorDuplicado Then
'Se o valor estiver duplicado, exibe uma mensagem.
resposta = msgbox(strTexto, intTipo, strTitulo)
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
Response = acDataErrContinue
End If
Error_Exit:
Exit Sub
myError:
msgbox Err.Description
Resume Error_Exit
End Sub
Última edição por julianovv em 16/8/2012, 12:54, editado 1 vez(es)