MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Critério para evitar duplicidade

    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 18/04/2018

    [Resolvido]Critério para evitar duplicidade Empty [Resolvido]Critério para evitar duplicidade

    Mensagem  fernando rodrigo zanchini em 28/9/2020, 13:37

    Bom Dia
    Gostaria de uma ajuda
    Tenho que evitar que seja execute duas venda para um msm cliente no mesmo projeto, para isso tenho que ir na tb_venda comparar o id do cliente e o id do projeto, e se ele já tiver uma venda nesse projeto me avisar e trazer para min.
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 23/03/2010

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  Finformática em 28/9/2020, 14:23

    Bom dia,

    Amigo, coloque o Id do Cliente e o Id do projeto como chaves primárias que resolve.

    Abraço
    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 18/04/2018

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  fernando rodrigo zanchini em 28/9/2020, 14:53

    não e possível pois e uma tb de venda e sub venda normal mais com uma condição, o cliente pode fazer mas de uma venda mas não no msm projeto
    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 18/04/2018

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  fernando rodrigo zanchini em 28/9/2020, 15:38

    estou tentando fazer esse funcionar e além da msg trazer o registro

    If (Not IsNull(DLookup("[idvenda]", "Tb_Venda", "[idProjeto] & [IdCliente] LIKE'" & Me!txtidProjeto & Me!txtIdCliente & "'"))) Then
    MsgBox "Ja existe venda para esse cliente neste projeto.", vbInformation, "Cliente"
    else

    end if
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  Celso Roberto em 28/9/2020, 23:29

    Olá..

    Tente adaptar ao seu caso:
    Será gera uma msgbox com os dados duplicadoe e se deseja ir para registro encontrado.


    No evento antes de atualizar

    Código:
    Dim rst As Recordset
            Set rst = CurrentDb.OpenRecordset("SELECT * FROM tbl_Agendamentos")

            Do While Not rst.EOF
            If rst![Prontuario] = Me.txtPront.Value And rst![NomedoUsuario] = Me.txtUsuario.Value And rst![Profissional] = Me.txtProf.Value Then
            'avisa
                If MsgBox("Já existe um Agendamento de código" & Space(2) & "" _
                & DLookup("[Cod_Agendamento]", "tbl_Agendamentos", "[Prontuario] = " & Me!txtPront & " and [NomedoUsuario] = '" & Me!txtUsuario & "'and [Profissional] = " & Me!txtProf & "") & vbCrLf & "" _
                & "Para o Prontuario" & vbCrLf & "" _
                & DLookup("[Prontuario]", "tbl_Agendamentos", "[Prontuario] = " & Me!txtPront & "") & vbCrLf & "" _
                & "Em Nome do Usuario" & vbCrLf & "" _
                & DLookup("[NomedoUsuario]", "tbl_Agendamentos", "[NomedoUsuario] = '" & Me!txtUsuario & "'") & vbCrLf & "" _
                & "Para o Profissional de Nome" & vbCrLf & "" _
                & DLookup("[Profissional]", "tbl_Agendamentos", "[Profissional] = " & Me!txtProf & "") & vbCrLf & "" _
                & "Deseja Ir para Registro e Conferir dados? ", vbYesNo + vbExclamation + vbDefaultButton2, "Confirmação") = vbYes Then
                    'desfaz a digitação
                    Me.Undo
                    'mostra o registro correspondente
                    Me.Bookmark = rst.Bookmark
           
            Exit Do
            Else
            Me.Undo
            'faz o procedimento de incluir ou salvar
            End If
            End If
            rst.MoveNext
            Loop
            rst.Close


    Aguardamos retorno

    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10604
    Registrado : 04/11/2009

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  JPaulo em 29/9/2020, 11:28



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Critério para evitar duplicidade Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Critério para evitar duplicidade Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Critério para evitar duplicidade Folder_announce_new Instruções SQL como utilizar...
    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 18/04/2018

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  fernando rodrigo zanchini em 29/9/2020, 15:08

    Bom dia
    um funcionou mas não traz o registro para frente.
    vou colocar um teste que tentei fazer.
    Anexos
    [Resolvido]Critério para evitar duplicidade AttachmentTeste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (66 Kb) Baixado 7 vez(es)
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  Celso Roberto em 29/9/2020, 16:04

    Olá..

    Teste:

    OBS: Vincule os campos da tabela no formulário e atenção ao apóstrofo quando for campo texto ou campo números

    Código:
    Dim rst As Recordset
            Set rst = CurrentDb.OpenRecordset("SELECT * FROM Tb_Teste")
            Do While Not rst.EOF
            If rst![Ca] = Me.TxtA.Value And rst![Cb] = Me.TxtB.Value And rst![Cc] = Me.TxtC.Value Then
                   
                        'avisa
                If MsgBox("Já existe um Agendamento de código" & Space(2) & "" _
                    & DLookup("[Cod]", "Tb_Teste", "[Ca] = " & Me!TxtA & " and [Cb] = " & Me!TxtB & " and [Cc] = " & Me!TxtC & "") & vbCrLf & "" _
                    & "Para o Prontuario" & vbCrLf & "" _
                    & DLookup("[Ca]", "Tb_Teste", "[Ca] = " & Me!TxtA & "") & vbCrLf & "" _
                    & "Em Nome do Usuario" & vbCrLf & "" _
                    & DLookup("[Cb]", "Tb_Teste", "[Cb] = " & Me!TxtB & "") & vbCrLf & "" _
                    & "Para o Profissional de Nome" & vbCrLf & "" _
                    & DLookup("[Cc]", "Tb_Teste", "[Cc] = " & Me!TxtC & "") & vbCrLf & "" _
                    & "Deseja Ir para Registro e Conferir dados? ", vbYesNo + vbExclamation + vbDefaultButton2, "Confirmação") = vbYes Then
                    'desfaz a digitação
                    Me.Undo
                    'mostra o registro correspondente
                    Me.Bookmark = rst.Bookmark
           
            Exit Do
                Else
                    Me.Undo
           
                End If
                End If
            rst.MoveNext
            Loop
            rst.Close

    Aguardamos retorno


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 18/04/2018

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  fernando rodrigo zanchini em 1/10/2020, 18:04

    Deu certo
    Obrigado!
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Critério para evitar duplicidade Empty Re: [Resolvido]Critério para evitar duplicidade

    Mensagem  Celso Roberto em 13/10/2020, 15:55

    Olá..

    cheers cheers

    Obrigado pelo retorno

    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

      Data/hora atual: 28/10/2020, 08:12