MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Falha nas Consultas

    Compartilhe

    Maurício Bruno
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    Falha nas Consultas

    Mensagem  Maurício Bruno em Qua Jun 14, 2017 1:57 pm

    Mestres,

    Mas uma vez, venho buscar a orientar de você para resolução de um problema.

    Tenho um tabela que gostaria que alguns dados atualizassem automaticamente, criei 04 consultas tipo Atualização, porém, elas não estão funcionando corretamente e não consigo sair do lugar, necessito de orientação e ajuda. Segue abaixo o que fiz e em anexo o arquivo.

    1ª Consulta Teste - Contador de dias - Esta consulta preenche e atualiza o campo "Lead Time - Investigação" da tabela "Tbl_IRM_Cadastro_de_Chamados_SAC" irá calcular o campo "Data do Chamado" menos a data atual, entretanto, quando o campo de Data de Conclusão for preenchido ele parará de contar não atualizaria este contador novamente.
    Código:
    UPDATE Tbl_IRM_Cadastro_de_Chamados_SAC SET Tbl_IRM_Cadastro_de_Chamados_SAC.[Lead Time - Investigação] = Now()-[Tbl_IRM_Cadastro_de_Chamados_SAC].[Data do Chamado], Tbl_IRM_Cadastro_de_Chamados_SAC.[Lead Time - Correção] = Now()-[Tbl_IRM_Cadastro_de_Chamados_SAC].[Data da Categorização], Tbl_IRM_Cadastro_de_Chamados_SAC.[Lead Time - Categorização] = Now()-[Tbl_IRM_Cadastro_de_Chamados_SAC].[Data de Importação], Tbl_IRM_Cadastro_de_Chamados_SAC.[Lead Time - Importação] = Now()-[Tbl_IRM_Cadastro_de_Chamados_SAC].[Data do Chamado]
    WHERE (((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data de Conclusão])="") AND ((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data da Correção])="") AND ((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data da Categorização])="") AND ((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data de Importação])="")) OR (((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data de Conclusão]) Is Null) AND ((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data da Correção]) Is Null) AND ((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data da Categorização]) Is Null) AND ((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data de Importação]) Is Null));

    2ª Consulta Teste - Prazo - Esta consulta preenche e atualiza o campo "Status Lead Time" da tabela "Tbl_IRM_Cadastro_de_Chamados_SAC" se chamado esta Dentro do Prazo e Fora do Prazo de acordo com o prazo cadastrado na tabela "Tbl_IRM_Cadastro_de_Analise_de_Risco", entretanto, quando o campo de Data de Conclusão for preenchido ele não atualizaria este status novamente.
    Código:
    UPDATE Tbl_IRM_Cadastro_de_Lotes_Produzidos_SAP INNER JOIN Tbl_IRM_Cadastro_de_Chamados_SAC ON Tbl_IRM_Cadastro_de_Lotes_Produzidos_SAP.Lote = Tbl_IRM_Cadastro_de_Chamados_SAC.[Lote do Chamado] SET Tbl_IRM_Cadastro_de_Chamados_SAC.[Status Lead Time] = IIf([Tbl_IRM_Cadastro_de_Chamados_SAC].[Lead Time - Investigação]>[Tbl_IRM_Cadastro_de_Analise_de_Risco].[Prazo (Dias)],"DENTRO DO PRAZO","FORA DO PRAZO");

    3ª Consulta Teste - Trimestre e Semestre - Esta consulta preenche e atualiza os campos "Trimestral" e "Semestral" da tabela "Tbl_IRM_Cadastro_de_Chamados_SAC", com base nos dados do campo de "Data do Chamado" ele não atualizaria os campos "Trimestral" em 1º, 2º, 3º ou 4º Tri-(Ano do Chamado) e "Semestral"  em 1º ou 2º Sem-(Ano do Chamado).
    Código:
    UPDATE Tbl_IRM_Cadastro_de_Chamados_SAC SET Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco] = "DESVIO CRÍTICO"
    WHERE (((Tbl_IRM_Cadastro_de_Chamados_SAC.[Data do Chamado]) Between "01/01/" & Year([DATE]) And "31/03/" & Year([DATE])));


    4ª Consulta Teste - Reincidência - Esta consulta e a mais complexa, pois preenche e atualiza o campo "Análise de Risco" da tabela "Tbl_IRM_Cadastro_de_Chamados_SAC", com base nos critério abaixo as descrições no campo "Análise de Risco" atualizarão, se houve atualização de escalonamento será marcado SIM no campo "Escalonado".
    Desvio A - Não haverá escalonamento
    Desvio B - Se no Trimestre houver mais de 10 reincidências para o mesmo desvio "Tipo de Desvio", mesmo produto "Código" e mesmo lote "Lote do Chamado" - O Desvio B se torna Desvio A e o campo "Escalonado" será flegado como "SIM".
    Se houver mais de 30 reincidências para o mesmo desvio "Tipo de Desvio", mesmo produto "Código" e lote diferentes "Lote do Chamado" - O Desvio B se torna Desvio A e o campo "Escalonado" será flegado como "SIM".
    Desvio C - Se no Semestre houver mais de 20 reincidências para o mesmo desvio "Tipo de Desvio", mesmo produto "Código" e mesmo lote "Lote do Chamado" - O Desvio C se torna Desvio B e o campo "Escalonado" será flegado como "SIM".
    Se houver mais de 50 reincidências para o mesmo desvio "Tipo de Desvio", mesmo produto "Código" e lote diferentes "Lote do Chamado" - O Desvio C se torna Desvio B e o campo "Escalonado" será flegado como "SIM".
    Código:
    UPDATE Tbl_IRM_Cadastro_de_Chamados_SAC SET Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco] = "DESVIO CRÍTICO", Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco] = "DESVIO MAIOR", Tbl_IRM_Cadastro_de_Chamados_SAC.Escalonado = Yes
    WHERE (((Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco])=[Tbl_IRM_Cadastro_de_Chamados_SAC].[Análise de Risco] And (Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco])=[Tbl_IRM_Cadastro_de_Chamados_SAC].[Código] And [Tbl_IRM_Cadastro_de_Chamados_SAC].[Lote do Chamado]>"10") AND ((Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco])=[Tbl_IRM_Cadastro_de_Chamados_SAC].[Análise de Risco] And (Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco])=[Tbl_IRM_Cadastro_de_Chamados_SAC].[Código] And [Tbl_IRM_Cadastro_de_Chamados_SAC].[Lote do Chamado]>"20")) OR (((Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco])=[Tbl_IRM_Cadastro_de_Chamados_SAC].[Análise de Risco] And (Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco])=[Tbl_IRM_Cadastro_de_Chamados_SAC].[Código] And [Tbl_IRM_Cadastro_de_Chamados_SAC].[Lote do Chamado]>"30") AND ((Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco])=[Tbl_IRM_Cadastro_de_Chamados_SAC].[Análise de Risco] And (Tbl_IRM_Cadastro_de_Chamados_SAC.[Análise de Risco])=[Tbl_IRM_Cadastro_de_Chamados_SAC].[Código] And [Tbl_IRM_Cadastro_de_Chamados_SAC].[Lote do Chamado]>"50"));

    Desde já agradeço a ajuda e atenção.
    Anexos
    Consulta.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (207 Kb) Baixado 6 vez(es)
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7030
    Registrado : 05/11/2009

    Re: Falha nas Consultas

    Mensagem  Alexandre Neves em Qua Jun 14, 2017 4:27 pm

    Boa noite,
    Não entendi
    Vamos abordar cada consulta, para não atrapalhar
    1ª consulta
    Quando fala que "quando o campo de Data de Conclusão for preenchido ele parará de contar não atualizaria este contador novamente" está a afirmar que não actualiza ou ele não actualiza e quer que actualize?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Maurício Bruno
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    Falha nas Consultas

    Mensagem  Maurício Bruno em Sex Jun 16, 2017 12:33 pm

    Alexandre,

    Boa Tarde!!!

    Quando for preenchido a data no campo de Data de Conclusão ele parará de contar não atualizará mais o contador novamente, este contador só será atualizado se eu mudar a data.

    Obrigado pela atenção e ajuda.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7030
    Registrado : 05/11/2009

    Re: Falha nas Consultas

    Mensagem  Alexandre Neves em Sex Jun 16, 2017 3:33 pm

    Boa noite,
    Não percebi em que situações não funciona e devia funcionar.
    Contudo, a instrução SQL pode ser mais leve
    UPDATE Tbl_IRM_Cadastro_de_Chamados_SAC SET [Lead Time - Investigação] = Now()-[Data do Chamado], [Lead Time - Correção] = Now()-[Data da Categorização], [Lead Time - Categorização] = Now()-[Data de Importação], [Lead Time - Importação] = Now()-[Data do Chamado] WHERE ([Data de Conclusão]="" AND [Data da Correção]="" AND [Data da Categorização]="" AND [Data de Importação]="") OR (IsNull([Data de Conclusão]) AND IsNull([Data da Correção]) AND IsNull([Data da Categorização]) AND IsNull([Data de Importação]));

    Veja que não tem parêntesis desnecessários e não deve comparar valores com nulos (x=null) mas verificar se são nulos(IsNull(x))
    O código podia ficar mais intuitivo e facilitar a interpretação se normalizasse os nomes (LeadTimeImportacao em vez de [Lead Time - Importação])


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Maurício Bruno
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    Falha nas Consultas

    Mensagem  Maurício Bruno em Seg Jun 19, 2017 7:43 am

    Alexandre,

    Bom Dia!

    Esta apresentando um erro: Tipo de dados incompatível na expressão de critério.

    Obrigado pela atenção e ajuda.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7030
    Registrado : 05/11/2009

    Re: Falha nas Consultas

    Mensagem  Alexandre Neves em Seg Jun 19, 2017 3:28 pm

    Boa noite,
    Veja em que lugar está relacionado tipo diferente (número/texto/data)
    [Lead Time - Investigação] = Now()-[Data do Chamado] são ambos data?
    [Lead Time - Correção] = Now()-[Data da Categorização] são ambos data?
    [Lead Time - Categorização] = Now()-[Data de Importação] são ambos data?
    [Lead Time - Importação] = Now()-[Data do Chamado] são ambos data?
    [Data de Conclusão]="" é texto?
    [Data da Correção]="" é texto?
    [Data da Categorização]="" é texto?
    [Data de Importação]="" é texto?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Maurício Bruno
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    Falha nas Consultas

    Mensagem  Maurício Bruno em Seg Jun 19, 2017 3:57 pm

    Alexandre,

    Segue os parâmetros:
    [Lead Time - Investigação] Número = Now()-[Data do Chamado] são ambos data? Sim
    [Lead Time - Correção] Número = Now()-[Data da Categorização] são ambos data? Sim
    [Lead Time - Categorização] Número = Now()-[Data de Importação] são ambos data? Sim
    [Lead Time - Importação] Número = Now()-[Data do Chamado] são ambos data? Sim
    [Data de Conclusão]="" é texto? É Data
    [Data da Correção]="" é texto? É Data
    [Data da Categorização]="" é texto? É Data
    [Data de Importação]="" é texto? É Data

    Obrigado pela atenção e ajuda.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7030
    Registrado : 05/11/2009

    Re: Falha nas Consultas

    Mensagem  Alexandre Neves em Ter Jun 20, 2017 4:57 pm

    Boa noite,
    [Lead Time - Investigação] coloque em data
    [Lead Time - Correção] coloque em data
    [Lead Time - Categorização] coloque em data
    [Lead Time - Importação] coloque em data
    coloque [Data de Conclusão]=Null
    coloque [Data da Correção]=Null
    coloque[Data da Categorização]=Null
    coloque[Data de Importação]=Null


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Maurício Bruno
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    Falha nas Consultas

    Mensagem  Maurício Bruno em Qua Jun 21, 2017 9:07 am

    Alexandre,

    Desculpe a minha ignorância, pois tentei fazer aqui de diversas maneira baseado na sua explicação e não consegui.

    Grato pela ajuda e atenção.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7030
    Registrado : 05/11/2009

    Re: Falha nas Consultas

    Mensagem  Alexandre Neves em Qua Jun 21, 2017 4:17 pm

    Boa noite,
    Não conseguiu o quê? mudar o tipo de dados? mudou o tipo de dados e não conseguiu o resultado desejado?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Maurício Bruno
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    Falha nas Consultas

    Mensagem  Maurício Bruno em Qui Jun 22, 2017 11:37 am

    Alexandre,

    Não consegui fazer o que você me orientou a fazer.

    Obrigado.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7030
    Registrado : 05/11/2009

    Re: Falha nas Consultas

    Mensagem  Alexandre Neves em Qui Jun 22, 2017 4:58 pm

    Boa noite,
    Tem de ser específico
    [Lead Time - Investigação] coloque em data Conseguiu?
    [Lead Time - Correção] coloque em data Conseguiu?
    [Lead Time - Categorização] coloque em data Conseguiu?
    [Lead Time - Importação] coloque em data Conseguiu?
    coloque [Data de Conclusão]=Null Conseguiu?
    coloque [Data da Correção]=Null Conseguiu?
    coloque[Data da Categorização]=Null Conseguiu?
    coloque[Data de Importação]=Null Conseguiu?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: Qua Nov 14, 2018 7:06 am