MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido] Código para duplicação não funciona

    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 680
    Registrado : 14/12/2010

    [Resolvido] Código para duplicação não funciona Empty [Resolvido] Código para duplicação não funciona

    Mensagem  julianovv 15/8/2012, 17:47

    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

    No


    Última edição por julianovv em 16/8/2012, 12:54, editado 1 vez(es)
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido] Código para duplicação não funciona Empty Código para duplicação não funciona

    Mensagem  good guy 15/8/2012, 20:08

    Olá juliano,

    Este código de erro me parece que é para registro duplicado, por isso que não capturou o nome em duplicata.

    Tente com DCount assim:

    Private Sub NOME_AfterUpdate()
    On Error Resume Next
    Dim sContar As Integer
    Dim sMatricula As String
    Dim strTitle As String
    Dim strMsg As String
    Dim intRetVal As Integer

    sContar = DCount("ENDERECO", "tbl_Documentos", "NOME = Forms!NomedoForm!NOME") 'Em vez de ENDERECO pode ser qualquer outro campo com valor do tipo String

    If sContar > 1 Then
    MsgBox "EXISTE MAIS DE UM DOCUMENTO COM ESTE NOME. FILTRE-AS SE FOR NECESSÁRIO !!!", vbInformation, "CONTROLE DE DOCUMENTOS"
    strTitle = "CONTROLE DE DOCUMENTOS."
    strMsg = "DESEJA FILTRÁ-LAS?"
    intRetVal = MsgBox(strMsg, vbQuestion + vbYesNo, strTitle)
    Select Case intRetVal
    Case Is = vbYes
    Me.RecordSource = "SELECT * FROM tbl_Documentos WHERE NOME = Forms!NomedoForm!NOME"
    DoCmd.RunCommand acCmdRefresh
    Case Is = vbNo
    Exit Sub
    End Select
    End If
    End Sub

    Se for para lidar com registros duplicados:
    http://maximoaccess.forumeiros.com/t420-resolvidoexclusao-excluir-duplicidade-impedir-dados-duplicados

    ou:

    http://www.expertaccess.com.br/forumnew/forum_posts.asp?TID=6918&PN=1
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 680
    Registrado : 14/12/2010

    [Resolvido] Código para duplicação não funciona Empty Re: Código para duplicação não funciona

    Mensagem  julianovv 16/8/2012, 12:53

    Bom dia. O código funciona bem para alguns formulários pop-ups mas não para outros. O código não me parece ser para registro porque ao criar novo nome na lista, um ID exclusivo é lançado no registro.
    Andei fazendo umas análises entre uma tabela e outra e percebi que nas tabelas onde o código funcionou, o campo que pode haver duplicação está com uma chave primária e o indexado está como "duplicação não autorizada".
    Me parece que é esse o problema.
    Vou fechar o tópico e se aparecer outro pepino nesse caso eu reabro.
    Obrigado!

    Smile

    Conteúdo patrocinado


    [Resolvido] Código para duplicação não funciona Empty Re: [Resolvido] Código para duplicação não funciona

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/5/2024, 11:46