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]Evitar duplicidade com mais de um critério

    avatar
    Antonio Aurélio
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 29/01/2014

    [Resolvido]Evitar duplicidade com mais de um critério Empty [Resolvido]Evitar duplicidade com mais de um critério

    Mensagem  Antonio Aurélio 6/3/2018, 13:12

    Senhores, bom dia.

    Em tópico anterior, recebi informações precisas para evitar o agendamento de eventos para a mesma data e hora.
    Minha necessidade é poder efetuar o agendamento com a mesma data e hora para profissionais diferentes.
    Exemplo:
    Na data de 15/03/2018 10:00 - Agendamento para o Usuário 01 com o profissional 03
    mesma data: 15/03/2018 10:00 - Agendamento para o Usuário 02 com o Profissional 01
    Peço, novamente, seu auxilio.
    Muito obrigado.

    Antonio Aurélio
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Evitar duplicidade com mais de um critério Empty Re: [Resolvido]Evitar duplicidade com mais de um critério

    Mensagem  FabioPaes 7/3/2018, 18:54

    Olá, pegue o Critério que ja tem, e adicione mais uma condição!


    rs.FindFirst "DataDoAgendamento = #" & Format(DataDoAgendamento, "m-d-yy hh : mm : ss") & "# AND Usario = '" & Me.NomeCampoUsuario & "'"


    Usuario= É o nome do Campo onde armazena o Usuário.
    Me.NomeCampoUsuario é onde tem o Nome do Usuário selecionado para verificar se ja tem agendamento pra data e usuário selecionado.

    Adicione mais quantos critérios precisar, utilizando o AND ou OR.


    rs.FindFirst "DataDoAgendamento = #" & Format(DataDoAgendamento, "m-d-yy hh : mm : ss") & "# AND Usario = '" & Me.NomeCampoUsuario & "' adicione aqui os outros critérios...tudo antes dessa Aspas, que é o fechamento da Primeira aspas destacada em vermelho..."


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Antonio Aurélio
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 29/01/2014

    [Resolvido]Evitar duplicidade com mais de um critério Empty Evitar duplicidade com mais de um critério (3 critérios)

    Mensagem  Antonio Aurélio 8/3/2018, 11:16

    Senhores, bom dia,

    Sr. Fábio, bom dia.

    Obrigado pela ajuda.
    Infelizmente ainda não consegui meu intento.
    Independente de ser o mesmo profissional, recebo a seguinte mensagem:
    "Erro em tempo de Execução '3464': Tipo de Dados incompatível na expressão de critério."
    Penso que o erro (às vezes erros de sintaxe), é porque busco os profissionais em caixa de combinação.
    Seguindo as orientações, ficou assim meu código (Antes de Atualizar do campo "Funcionário"):

    Private Sub Funcionário_BeforeUpdate(Cancel As Integer)
       
       Dim rs As Recordset
       Set rs = Me.RecordsetClone
       
    '    rs.MoveFirst
       
       rs.FindFirst "DataDoContato = #" & Format(DataDoContato, "m-d-yy hh🇲🇲ss") & "# AND Funcionário = '" & Me.Funcionário & "'"


       If Not rs.NoMatch Then
          MsgBox "Agendamento para a Data ' " & DataDoContato.Text & " ' já existe.", vbInformation, "AGENDA"
     
          Cancel = True

       End If
    Set rs = Nothing

    End Sub

    Tentei fazer referência a tabela Funcionários, buscando o "CódigoDoFuncionário" ou mesmo o "NomeDoFuncionário", mas, não consegui.

    Agradeço, novamente, pela ajuda.

    Muito obrigado.

    Antonio Aurélio

    ---------------------------------------------------
    Sr. Fábio, boa tarde.

    Consegui evitar duplicidade com dois critérios, porém, não estou conseguindo realizar com três critérios mesmo utilizando suas orientações.

    Tentei encontrar onde estou errando, mas, sem sucesso.

    Estou utilizando o este código:

    Private Sub DataAção_BeforeUpdate(Cancel As Integer)

    Dim rs As Recordset
    Set rs = Me.RecordsetClone


    rs.FindFirst "DataAção = #" & Format(DataAção, "m-d-yy ") & "# AND CódigoDoProduto = " & Me.CódigoDoProduto & " &" And Profissional = " & Me.Profissional & """


    If Not rs.NoMatch Then

    MsgBox "Ação já realizada pelo Profissional nesta Data'", vbInformation, "AÇÕES"

    Cancel = True

    End If
    Set rs = Nothing

    Às vezes a mensagem de erro é de sintaxe, faço algumas alterações e recebo a mensagem de "Tipo não compatível.

    Peço, por favor, ajuda.

    Muito obrigado.

    Antonio Aurélioi


    Última edição por Antonio Aurélio em 31/7/2018, 18:25, editado 1 vez(es) (Motivo da edição : Erros)
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Evitar duplicidade com mais de um critério Empty Re: [Resolvido]Evitar duplicidade com mais de um critério

    Mensagem  FabioPaes 8/3/2018, 12:38

    Tipos de dados incompatíveis, significa que esta informando Texto e o campo na tabela está como Numero... OU o contrário.

    Mude para:


    rs.FindFirst "DataDoContato = #" & Format(DataDoContato, "m-d-yy hh:ss") & "# AND Funcionário = " & Me.Funcionário & ""


    Foi Removido a 'no inicio e no fim' do critério adicionado


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Antonio Aurélio
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 29/01/2014

    [Resolvido]Evitar duplicidade com mais de um critério Empty Evitar duplicidade com mais de um critério

    Mensagem  Antonio Aurélio 8/3/2018, 18:15

    Boa tarde.

    Senhor Fabio, boa tarde.

    O código funcionou da maneira como necessito.
    Muito obrigado.
    Estou encerrando o tópico agradecendo.
    Muito obrigado.

    Antonio Aurélio
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Evitar duplicidade com mais de um critério Empty Re: [Resolvido]Evitar duplicidade com mais de um critério

    Mensagem  FabioPaes 8/3/2018, 19:29

    Grato pelo retorno e até a próxima se Deus quiser!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    [Resolvido]Evitar duplicidade com mais de um critério Empty Re: [Resolvido]Evitar duplicidade com mais de um critério

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 07:55