locked
SQL no ACCESS ERRO ISNULL RRS feed

  • Pergunta

  • Prezados,

    preciso de uma ajuda, estou precisando fazer uma consulta de atualização em minha tabela, só que no código SQL da um erro no ISNULL (Erro de Sixtaxe).

    SQL:

    UPDATE Pendências SET Pendências.Status =
    CASE(WHEN ISNULL(concluso) THEN (CASE(WHEN dataprevista >= now() THEN 'Em andamento' ELSE 'Atrasado'))
    ELSE (CASE(WHEN dataprevista >= concluso) THEN 'Concluído' ELSE 'Concluído com atraso')));

    OQUE PRECISO:

      Se dataprevista > agora então "em andamento" caso contrário "Atrasada"

     Se dataprevista > dataentrega "concluida com atraso" caso contrário "Concluída"

    Não sei como fazer isso em SQL para aplicar no access.


    Att, Estanislau Frade msn: lauedele@hotmail.com email: estanislaufrade@yahoo.com.br estanislau.frade@vale.com


    quinta-feira, 9 de fevereiro de 2012 12:51

Todas as Respostas

  • Amigo,

    Fiz aqui no SQL... talvez você tenha que ajustar alguma função específica do access... mas o update é esse ae...

    CREATE TABLE PENDENCIAS(DATAPREVISTA DATETIME, DATAENTREGA DATETIME, [STATUS] VARCHAR(50))
    GO
    INSERT INTO PENDENCIAS (DATAPREVISTA, DATAENTREGA) VALUES ('2012-01-10', '2012-01-12')
    INSERT INTO PENDENCIAS (DATAPREVISTA, DATAENTREGA) VALUES ('2012-01-21', '2012-01-20')
    INSERT INTO PENDENCIAS (DATAPREVISTA, DATAENTREGA) VALUES ('2012-02-12', NULL)
    INSERT INTO PENDENCIAS (DATAPREVISTA, DATAENTREGA) VALUES ('2012-02-08', NULL)
    GO
    
    SELECT * FROM PENDENCIAS
    
    UPDATE PENDENCIAS SET
    [STATUS] = 
    CASE 
    	WHEN DATAENTREGA IS NULL AND DATAPREVISTA > GETDATE() THEN 'EM ANDAMENTO'
    	WHEN DATAENTREGA IS NULL AND DATAPREVISTA < GETDATE() THEN 'EM ATRASO' 
    	WHEN DATAENTREGA IS NOT NULL AND DATAPREVISTA >= DATAENTREGA THEN 'ENTREGUE NO PRAZO'
    	WHEN DATAENTREGA IS NOT NULL AND DATAPREVISTA < DATAENTREGA THEN 'ENTREGUE EM ATRASO' 
    END
    GO
    
    SELECT * FROM PENDENCIAS

    Espero que ajude.

    Abs.


    Ivan Candido MCITP SQL Server 2008 / 2005 http://ivancandido.wordpress.com/

    • Sugerido como Resposta Rodrigo Ataíde quinta-feira, 9 de fevereiro de 2012 14:12
    quinta-feira, 9 de fevereiro de 2012 14:06
  • Parceiro, boa tarde,

    eu não consegui adaptar para o SQL ACCESS. Da ERRO.

    To começando agora, por isso não consegui.

    Obrigado.


    Att, Estanislau Frade msn: lauedele@hotmail.com email: estanislaufrade@yahoo.com.br estanislau.frade@vale.com

    quinta-feira, 9 de fevereiro de 2012 16:20