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

    Consulta referencia cruzada

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Consulta referencia cruzada Empty Consulta referencia cruzada

    Mensagem  Assis 6/11/2014, 19:11

    Boa tarde amigos

    Tenho este código sql de uma consulta.
    Foi criado em 2005 e o PIVOT está até 2014.

    TRANSFORM Sum([Total Ano Encomendas].[Nº Encomendas]) AS [SomaDeNº Encomendas1]
    SELECT [Total Ano Encomendas].SubZona
    FROM [Total Ano Encomendas]
    GROUP BY [Total Ano Encomendas].SubZona
    PIVOT Format([txtData],"yyyy") In ("2005","2006","2007","2008","2009","2010","2011","2012","2013","2014");

    No caso acima como termina em 2014, vou ter que alterar a consulta e colocar + 1 ou + anos.

    Pergunto:

    Não seria possivel criar o PIVOT definitivo, isto é sempre que mudar o ano ele acrescentar +1 assim a partir daqui :

    PIVOT Format([txtData],"yyyy") In ("2014");


    .................................................................................
    *** Só sei que nada sei ***
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Consulta referencia cruzada Empty Re: Consulta referencia cruzada

    Mensagem  Alexandre Neves 7/11/2014, 15:11

    Boa tarde, Assis
    Tenta assim
    TRANSFORM Sum([Total Ano Encomendas].[Nº Encomendas]) AS [SomaDeNº Encomendas1]
    SELECT [Total Ano Encomendas].SubZona
    FROM [Total Ano Encomendas]
    GROUP BY [Total Ano Encomendas].SubZona
    PIVOT Format([txtData],"yyyy") In (year(date),year(date)+1,year(date)+2,year(date)+3,year(date)+4,year(date)+5,year(date)+6,year(date)+7,year(date)+8,year(date)+9);


    .................................................................................
    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
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Consulta referencia cruzada Empty Re: Consulta referencia cruzada

    Mensagem  Assis 7/11/2014, 18:25

    Boa tarde Alexandre

    Não resultou.

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Consulta referencia cruzada Empty Re: Consulta referencia cruzada

    Mensagem  Alexandre Neves 7/11/2014, 18:31

    E assim?
    TRANSFORM Sum([Total Ano Encomendas].[Nº Encomendas]) AS [SomaDeNº Encomendas1]
    SELECT [Total Ano Encomendas].SubZona
    FROM [Total Ano Encomendas]
    GROUP BY [Total Ano Encomendas].SubZona
    PIVOT year([txtData]) In (year(date),year(date)+1,year(date)+2,year(date)+3,year(date)+4,year(date)+5,year(date)+6,year(date)+7,year(date)+8,year(date)+9);


    .................................................................................
    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
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Consulta referencia cruzada Empty Re: Consulta referencia cruzada

    Mensagem  Assis 7/11/2014, 19:04

    Alexandre

    Diferente da anterior


    .................................................................................
    *** Só sei que nada sei ***

    Conteúdo patrocinado


    Consulta referencia cruzada Empty Re: Consulta referencia cruzada

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 01:29