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]Impedir duplicidade de datas

    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1247
    Registrado : 07/12/2011

    [Resolvido]Impedir duplicidade de datas Empty [Resolvido]Impedir duplicidade de datas

    Mensagem  tauron em 1/11/2019, 19:33

    no projeto de controle de viagens, na tabela existem dentre outros, os campos "Matricula" (chave primaria) Tipo Texto e o campo "DtSaida", tipo Data (data abreviada) e, gostaria que ao digitar a data de saida (dtsaida) verificasse na tabela se ja existe registro para tal data.

    Ex: no dia 28/10/2019 houve o registro para a data de 27/10/2019 para a matricula 11588641. Hoje, 01/11/2019 chegou uma solicitação para novo registro da  matricula 11588641 para 27/10/2019. Sendo assim haveria duplicidade de informações, pois o mesmo motorista fazendo duas viagens no mesmo dia o que não é permitido. então gostaria não fosse permitido a duplicidade de datas para a mesma matricula.
    Anexos
    [Resolvido]Impedir duplicidade de datas AttachmentDiariasTeste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (134 Kb) Baixado 15 vez(es)
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  renpv em 3/11/2019, 12:46

    Amigo, se eu entendi bem seu problema a solução é usar chave primária composta.
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1247
    Registrado : 07/12/2011

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  tauron em 3/11/2019, 15:44

    Acho que não resolveria pois, um mesma "matricula" será usada para várias datas e várias "matriculas" para uma mesma data.
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

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

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  Celso Roberto em 3/11/2019, 17:07

    olá

    teste no evento antes de atualizar do campo data do subformulario
    Código:
    Private Sub DtSaida_BeforeUpdate(Cancel As Integer)
     
        'On Error Resume Next

        If DCount("DtSaida", "tblDetalhes", "Matricula = " & Me.Parent!Matricula & " And DtSaida = #" & DtSaida & "#") > 0 Then
                   
            'avisa
            MsgBox "Já existe um Agendamento para esta matricula" & Space(2) & "" _
            & DLookup("[Matricula]", "tblDetalhes", "[Matricula] = " & Me.Parent!Matricula & "") & vbCrLf & "" _
            & "Agendado para esta Data" & vbCrLf & "" _
            & DLookup("[DtSaida]", "tblDetalhes", "[DtSaida] = #" & Format(Me!DtSaida, "mm/dd/yyyy") & "#") & vbCrLf & "" _
            & "Verifique e Confira os dados", vbInformation, "Verificação"
            'desfaz a digitação
            Me.Undo
            Cancel = True
        End If
    End Sub


    Aguardamos

    Abraços


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


    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.....
    Maicon
    Maicon
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 08/09/2012

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  Maicon em 3/11/2019, 17:41

    Acho que o amigo renpv , que dizer é que a data deveria ser uma chave primária , já usei isto em um projeto deveria fazer a distribuição por dia então seria algo tipo assim :

    Tabela DataAbertura  - Deveria fazer abertura do dia ou seja inserir a data do serviço esta tabela seria mais ou menos assim .



    DataAbertura_tbl                           Rotas_tbl  
    {}Id_Servicos---------------------->{}Chave_Estrangeira_DataTbl (Idexidado,Sim,DuplicaçãoAutorizada,Não)
    [] Data                                         []Motorista    
                                                       []Partida
                                                       []Destino


    {} Chave primária
    [] Campo formulário

    Desulpe Celso não havia visto seu POST . Acho que é mais adequado. Mas como já havia postado fica desta outra alternativa.


    .................................................................................
    "O talento vence jogos, mas só o trabalho em equipe ganha campeonatos."
    Michael Jordan

    Bons Estudos.
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

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

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  Celso Roberto em 3/11/2019, 17:58

    Olá Maicon,

    Não tem que se desculpar, estamos todos a dar idéias e sugestões a que solicita

    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.....
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1247
    Registrado : 07/12/2011

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  tauron em 3/11/2019, 19:59

    Boa tarde,

    Celso, esta dando erro 3464 - tipo de dados incompativel na expressao de criterio

    Ja tentei como data e texto.
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

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

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  Celso Roberto em 3/11/2019, 20:23

    Olá tauron,

    No exemplo que disponibilizou esta Ok, sem erro.

    qual linha da o erro?

    verifique qual campo e corrija as Aspas para texto ou numer

    Aguardo


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


    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.....
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  renpv em 4/11/2019, 00:10

    Chave primária composta. Veja como fazer
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1247
    Registrado : 07/12/2011

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  tauron em 4/11/2019, 13:26

    Amigo renpv, na tblFuncionarios há chave composta, o fato é que preciso que a inserção de dados seja interrompida quando houver duplicidade de data (dtsaida) e, como eu disse na mensagem anterior, uma matricula terá varias datas e várias matriculas poderão ter a mesma data.
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1247
    Registrado : 07/12/2011

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  tauron em 4/11/2019, 15:01

    Muito obrigado a Renpv e Celso Roberto.

    O codigo ficou assim:

    Código:
    Private Sub DtSaida_BeforeUpdate(Cancel As Integer)
     
        'On Error Resume Next

        If DCount("DtSaida", "tblDetalhes", "Matricula = [color=#0000ff]'"[/color] & Me.Parent!Matricula & [color=#0000ff]"'[/color] And DtSaida = #" & DtSaida & "#") > 0 Then
                   
            'avisa
            MsgBox "Já existe um Agendamento para esta matricula" & Space(2) & "" _
            & DLookup("[Matricula]", "tblDetalhes", "[Matricula] = [color=#0000ff]'"[/color] & Me.Parent!Matricula & [color=#0000ff]"'"[/color]) & vbCrLf & "" _
            & "Agendado para esta Data" & vbCrLf & "" _
            & DLookup("[DtSaida]", "tblDetalhes", "[DtSaida] = #" & Format(Me!DtSaida, "mm/dd/yyyy") & "#") & vbCrLf & "" _
            & "Verifique e Confira os dados", vbInformation, "Verificação"
            'desfaz a digitação
            Me.Undo
            Cancel = True
        End If
    End Sub
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  renpv em 4/11/2019, 16:30

    Obrigado pelo retorno. Sucesso.
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

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

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  Celso Roberto em 12/11/2019, 04:05

    Olá..

    Retornando de um breve descanso!!

    Ficamos felizes por ter ajudado cheers cheers cheers

    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.....
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1247
    Registrado : 07/12/2011

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  tauron em 12/11/2019, 11:42

    Bom dia mestres, Estou reabrindo este topico devido ao fato que começou a ocorrer um fato inusitado, como meu projeto, o codigo que o Celso Roberto postou funfou blz, até ontem (11/11/2019). Agora se eu registro uma data para uma matricula, não consigo realizar para outro motorista.

    Ex. Já registrei o dia 17/06/2019 para a matricula 11588641 e dia 18/06/2019 para a matricula 22699752, quando tento registrar a data 18/06/2019 para a matricula 11588641 informe que já há agendamento.

    fazendo os testes no arquivo que disponibilizei não ocorre nenhum erro a alteração foi quanto a divisão do projeto em Front End e Back End.
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

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

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  Celso Roberto em 13/11/2019, 14:36

    Olá...

    Fiz aqui uma simulação em rede com seu exemplo e não apresentou nenhum problema, cadastrei varias matriculas e simulei com datas de saida iguais e foi tudo normal.

    Verifique se o problema ocorre em todas as maquinas, pois pode ser configuração por maquina com sistema operacional diferente.

    Lembro que tive um caso similar e o problema era este acima e solucionei formatando a data.

    Então faça teste alterando esta linha abaixo.

    Código:
    If DCount("DtSaida", "tblDetalhes", "Matricula = " & Me.Parent!Matricula & " And DtSaida = #" & Format(Me!DtSaida, "mm/dd/yyyy") & "#") > 0 Then


    Mas antes não esqueça de verificar todas as maquinas, verificando quais apresenta o problema e quais não, assim voce altera só as que apresentos o problema.

    e também verifique se fez a transição dos codigos corretamente

    Aguardamos

    Abraços


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


    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.....
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1247
    Registrado : 07/12/2011

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  tauron em 14/11/2019, 12:08

    Obrigado pela resposta rapida. Eu não consigo entender o que esta acontecendo, porque quando implementei o codigo, funcionou perfeitamente, e nao semana seguinte começou.

    Por enquanto, somente roda em uma maquina (onde projetei o aplicativo). Mas vou fazer os testes.

    Mais uma vez obrigado.
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1247
    Registrado : 07/12/2011

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  tauron em 18/6/2020, 20:06

    Então pessoal, após esse longo tempo, o problema persiste. O estranho é que não é com todos os registros e nem com todas as datas.


    Celso, quanto a sua sugestão, não sei como alterar o código postado anteriormente. Esclareço ainda que por enquanto está rodando em uma maquina apenas, com a base em uma pasta na rede.
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

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

    [Resolvido]Impedir duplicidade de datas Empty Re: [Resolvido]Impedir duplicidade de datas

    Mensagem  Celso Roberto em 21/6/2020, 15:10

    Olá tauron,

    Anexe exemplo atualizado com dados suficiente para testes.

    Aguardamos

    Abraços


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


    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: 3/12/2020, 22:27