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


3 participantes

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    avatar
    jomishell
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 40
    Registrado : 13/05/2011

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  jomishell 7/6/2015, 13:11

    Venho solicitar a v/ ajuda para o seguinte:

    Tenho 3 tabelas: grupos etários (Grupo_Etario), agrupamentos (Agrupa) e registo (Incidencia). Esta última serve para guardar registos, sendo que, nos seus campos "Grupo_ET" e "Grupo_ID" são registados valores selecionados nas 2 primeiras tabelas.

    O que pretendia era criar um modelo uniforme de relatório, baseado numa consulta de referencia cruzada, que me preenchesse sempre a totalidade das linhas (Agrupa) e colunas (Grupo_etario), independentemente de terem valores ou não.

    Anexo cópia simplificada para melhor compreensão.

    Agradeço a quem possa ajudar
    Anexos
    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) AttachmentAgrupa.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (26 Kb) Baixado 13 vez(es)
    avatar
    jomishell
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 40
    Registrado : 13/05/2011

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  jomishell 8/6/2015, 00:35

    Não quero forçar mas... digam-me que não existe solução Smile
    tauron
    tauron
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

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

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  tauron 8/6/2015, 02:32

    muito confuso mas vejamos se estou no caminho.
    Anexos
    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) AttachmentAgrupa.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (39 Kb) Baixado 9 vez(es)
    avatar
    jomishell
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 40
    Registrado : 13/05/2011

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  jomishell 8/6/2015, 10:27

    Tauron

    Agradeço a tentativa mas falta exactamente aquilo que pretendo!  Smile

    Nas colunas do relatório pretendia que aparecessem todos os grupos etários (de <1 a 85+) mesmo que sem valores (<1, 01-04, 05-09,...,85+);
    Nas linhas do relatório pretendia que aparecessem todos os agrupamentos (de C0 a D46) mesmo que sem valores (C00, C01-02, C03-06,...,D46).

    O preenchimento (contagem) seria com os valores encontrados (0 ou não preenchido naqueles que não tivessem valores).


    A ideia é fazer um relatório final uniforme, que não varie em altura ou comprimento independentemente dos casos registados.
    avatar
    jomishell
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 40
    Registrado : 13/05/2011

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  jomishell 17/6/2015, 14:23

    up
    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

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  Alexandre Neves 18/6/2015, 12:15

    Bom dia,
    Será isto?
    SELECT Agrupa.Agrupamento, Grupo_Etario.Grupo_ET, Incidencia.Sexo FROM Grupo_Etario LEFT JOIN (Agrupa RIGHT JOIN Incidencia ON Agrupa.Agrupamento = Incidencia.Grupo_ID) ON Grupo_Etario.Grupo_ET = Incidencia.Grupo_ET;


    .................................................................................
    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
    avatar
    jomishell
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 40
    Registrado : 13/05/2011

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  jomishell 19/6/2015, 23:21

    Está quase Alexandre Neves, falta apenas definir a relação entre Agrupa --> Incidência como a do Grupo_Etário --> Incidência... e aí é que a porca torce o rabo Smile

    Já mostra todos os grupos etários, independentemente de estarem ou não preenchidos, o mesmo não acontece com os Agrupamentos em que apenas mostra aqueles que têm registos na Incidência.

    O que pretendia é que preenchesse todos os Grupos-Etários, independentemente de terem ou não valores (tabela Grupo_etário). O mesmo com os Agrupamentos (tabela Agrupa)

    Numa consulta de referência cruzada no cabeçalho das linhas apareciam todos os Agrupamentos, no cabeçalho das colunas apareceriam todos os grupos etários.

    Obrigado pela disponibilidade
    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

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  Alexandre Neves 21/6/2015, 21:49

    Boa noite,

    Cole num módulo
    Código:
    Function Agr2(Agrup1, Agrup2) As String
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        '  código criado por Alexandre Neves, do Fórum MaximoAccess                                                '
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            Agr2 = Agrup2
    End Function

    SQL da consulta
    SELECT DISTINCT Agrupa.Agrupamento, Grupo_Etario.Grupo_ET, Incidencia.Sexo FROM (Grupo_Etario LEFT JOIN Agrupa ON Agr2(Agrupa.Agrupamento,Grupo_Etario.Grupo_ET)=Grupo_Etario.Grupo_ET) LEFT JOIN Incidencia ON Grupo_Etario.Grupo_ET=Incidencia.Grupo_ET;


    .................................................................................
    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
    avatar
    jomishell
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 40
    Registrado : 13/05/2011

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  jomishell 22/6/2015, 00:33

    Não. Também não dá.
    Para além disso o módulo descarta 17 registos (apenas lista 34 dos 51).
    Anexos
    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) AttachmentAgrupa.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (43 Kb) Baixado 4 vez(es)
    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

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  Alexandre Neves 23/6/2015, 09:56

    Bom dia,
    Veja se é isto
    SELECT Agrupa.Agrupamento, Grupo_Etario.Grupo_ET, Incidencia.Sexo FROM (Grupo_Etario LEFT JOIN Agrupa ON Agr2(Agrupa.Agrupamento,Grupo_Etario.Grupo_ET)=Grupo_Etario.Grupo_ET) LEFT JOIN Incidencia ON Grupo_Etario.Grupo_ET=Incidencia.Grupo_ET

    Se não for, indique quais registos não aparecem e quantidade que devia ser devolvida


    .................................................................................
    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
    avatar
    jomishell
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 40
    Registrado : 13/05/2011

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  jomishell 23/6/2015, 10:50

    Bom dia Alexandre Neves

    Obrigado pelos esforços e pela pachorra para me aturar... mas isto está a dar "pica"!! Smile

    Relativamente a esta última versão: está diferente e para melhor, penso eu. Já aparecem todos os escalões etários (colunas) e todos os agrupamentos (linhas) o problema são os somatórios pois soma os mesmos valores em todas as linhas e colunas (no caso 51 que é a totalidade dos registos - conteúdo da tabela "Incidencia". Veja a imagem anexa no .ZIP).

    Mais uma vez muito obrigado
    Anexos
    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) AttachmentAgrupa.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (84 Kb) Baixado 7 vez(es)


    Última edição por jomishell em 23/6/2015, 11:00, editado 1 vez(es) (Motivo da edição : Não carrega .ZIP)
    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

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  Alexandre Neves 23/6/2015, 22:12

    Boa noite,
    Veja se é isto
    TRANSFORM Count(Sexo) AS ContarDeSexo SELECT Agrupamento FROM (SELECT Agrupa.Agrupamento, Grupo_Etario.Grupo_ET, Incidencia.Sexo
    FROM (Grupo_Etario LEFT JOIN Agrupa ON Agr2(Agrupa.Agrupamento,Grupo_Etario.Grupo_ET)=Grupo_Etario.Grupo_ET) LEFT JOIN Incidencia ON Grupo_Etario.Grupo_ET=Incidencia.Grupo_ET GROUP BY Agrupa.Agrupamento, Grupo_Etario.Grupo_ET, Incidencia.Sexo, Incidencia.Idade, Incidencia.Dist_Res)
    GROUP BY Agrupamento, Grupo_ET PIVOT Grupo_ET;

    Se forem estes os dados, veremos como colocar na mesma linha cada agrupamento


    .................................................................................
    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
    avatar
    jomishell
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 40
    Registrado : 13/05/2011

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  jomishell 24/6/2015, 12:19

    Nop, ainda não.

    Está a somar os mesmos valores em todos os agrupamentos (os somatórios de cada agrupamento dão todos o mesmo valor).
    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

    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  Alexandre Neves 24/6/2015, 15:28

    Boa tarde,
    Não estou a ver consulta que devolva os dados que pretende. Terá de conjugar várias consultas


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

    Conteúdo patrocinado


    Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme) Empty Re: Inserir todas a linhas e colunas numa consulta, independentemente de terem ou não valores (modelo uniforme)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 19:23