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]Colocar o resultado das consultas nas colunas

    avatar
    valliclay
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 09/09/2011

    [Resolvido]Colocar o resultado das consultas nas colunas Empty [Resolvido]Colocar o resultado das consultas nas colunas

    Mensagem  valliclay 1/12/2014, 13:04

    Boa tarde!
    a todos

    Tenho a consulta abaixo que no SQL DO Microsiga retorna o resultado em colunas e preciso fazer a mesma consulta no Access.
    O mesmo esta com erro na função COALESCE

    SELECT PRODUTO, B1_ZZDCSAP AS DESCR,
    COALESCE( SUM(CASE WHEN TIPO ='STK' THEN QTY END),0) AS 'STK',
    COALESCE( SUM(CASE WHEN TIPO ='PO' THEN QTY END),0) AS 'PO',
    COALESCE( SUM(CASE WHEN TIPO ='PR' THEN QTY END),0) AS 'PR',
    COALESCE( SUM(CASE WHEN TIPO ='P1' THEN QTY END),0) AS '14AUG',
    COALESCE( SUM(CASE WHEN TIPO ='P2' THEN QTY END),0) AS '14SEP',
    COALESCE( SUM(CASE WHEN TIPO ='P3' THEN QTY END),0) AS '14OCT',
    COALESCE( SUM(CASE WHEN TIPO ='P4' THEN QTY END),0) AS '14NOV',
    COALESCE( SUM(CASE WHEN TIPO ='P5' THEN QTY END),0) AS '14DEC',
    COALESCE( SUM(CASE WHEN TIPO ='P6' THEN QTY END),0) AS '15JAN',
    COALESCE( SUM(CASE WHEN TIPO ='P7' THEN QTY END),0) AS '15FEB',
    COALESCE( SUM(CASE WHEN TIPO ='P8' THEN QTY END),0) AS '15MAR',
    COALESCE( SUM(CASE WHEN TIPO ='P9' THEN QTY END),0) AS '15APR',
    COALESCE( SUM(CASE WHEN TIPO ='P10' THEN QTY END),0) AS '15MAY',
    COALESCE( SUM(CASE WHEN TIPO ='P11' THEN QTY END),0) AS '15JUN',
    COALESCE( SUM(CASE WHEN TIPO ='P12' THEN QTY END),0) AS '15JUL',
    COALESCE( SUM(CASE WHEN TIPO ='P13' THEN QTY END),0) AS '15AUG',
    COALESCE( SUM(CASE WHEN TIPO ='P14' THEN QTY END),0) AS '15SEP',
    COALESCE( SUM(CASE WHEN TIPO ='P15' THEN QTY END),0) AS '15OCT',
    COALESCE( SUM(CASE WHEN TIPO ='P16' THEN QTY END),0) AS '15NOV',
    COALESCE( SUM(CASE WHEN TIPO ='P17' THEN QTY END),0) AS '15DEC'
    FROM
    (SELECT 'STK' AS TIPO, B2_COD AS PRODUTO, SUM(B2_QATU+B2_QNPT) AS QTY FROM SB2010 WHERE D_E_L_E_T_ = '' AND B2_LOCAL IN (
    SELECT ZZA_LOCAL FROM ZZA010 WHERE D_E_L_E_T_ = '' AND ZZA_MRP = 'S')
    GROUP BY B2_COD
    UNION ALL
    SELECT 'PO' AS TIPO, C7_PRODUTO AS PRODUTO, SUM(C7_QUANT-C7_QUJE) AS QTY FROM SC7010 WHERE D_E_L_E_T_ = '' AND C7_RESIDUO = ''
    GROUP BY C7_PRODUTO
    UNION ALL
    SELECT 'PR' AS TIPO, C1_PRODUTO AS PRODUTO, SUM(C1_QUANT-C1_QUJE) AS QTY FROM SC1010 WHERE D_E_L_E_T_ = '' AND C1_RESIDUO = ''
    GROUP BY C1_PRODUTO
    UNION ALL
    SELECT 'P1' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201408%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P2' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201409%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P3' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201410%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P4' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201411%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P5' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201412%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P6' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201501%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P7' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201502%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P8' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201503%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P9' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201504%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P10' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201505%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P11' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201506%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P12' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201507%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P13' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201508%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P14' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201509%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P15' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201510%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P16' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201511%'
    GROUP BY D4_COD
    UNION ALL
    SELECT 'P17' AS TIPO, D4_COD AS PRODUTO, SUM(D4_QUANT) AS QTY FROM SD4010 WHERE D_E_L_E_T_ = '' AND D4_QUANT > 0 AND D4_DATA LIKE '201512%'
    GROUP BY D4_COD
    ) AS TAB1
    INNER JOIN SB1010 SB1 ON PRODUTO = B1_COD AND D_E_L_E_T_ = ''
    WHERE SUBSTRING(PRODUTO,1,3) NOT IN ('MAT','SVC','SER','C16','CBR','100','ZZZ','MOD','','','')
    GROUP BY PRODUTO, B1_ZZDCSAP

    o que eu preciso e colocar o resultado de cada consulta acima em uma coluna por exemplo a primeira consulta na coluna SKT, A segunda na PO e assim por diante.

    Desde já agradeço a todos


    Última edição por cla3200pc em 1/12/2014, 15:10, editado 1 vez(es)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Colocar o resultado das consultas nas colunas Empty Re: [Resolvido]Colocar o resultado das consultas nas colunas

    Mensagem  criquio 1/12/2014, 13:19

    Tente substituir COALESCE por Nz.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    valliclay
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 09/09/2011

    [Resolvido]Colocar o resultado das consultas nas colunas Empty Tente substituir COALESCE por Nz.

    Mensagem  valliclay 1/12/2014, 14:33

    Boa tarde!

    Criquio

    substitui por Nz conforme linha abaixo e esta dando o erro.
    Nz( SUM(CASE WHEN TIPO ='STK' THEN QTY END),0) AS 'STK',
    Erro de sintaxe (operador faltando) na expressão de consulta Nz( SUM(CASE WHEN TIPO ='STK' THEN QTY END),0) AS 'STK',
    após a frase do erro o mesmo seleciona a palavra WHEN
    avatar
    valliclay
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 09/09/2011

    [Resolvido]Colocar o resultado das consultas nas colunas Empty Re: [Resolvido]Colocar o resultado das consultas nas colunas

    Mensagem  valliclay 7/12/2014, 12:31

    Bom dia!

    A todos.

    O problema acima foi resolvido criamos um VW no banco de dados da empresa onde o access acessa esta VW e abre a consulta acima como se fosse uma tabela vinculada ao banco de dados da empresa.

    desde já agradeço a todos.

    Conteúdo patrocinado


    [Resolvido]Colocar o resultado das consultas nas colunas Empty Re: [Resolvido]Colocar o resultado das consultas nas colunas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 10:10