MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Consulta União para unir três campos em um.

    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 619
    Registrado : 14/12/2010

    [Resolvido]Consulta União para unir três campos em um. Empty [Resolvido]Consulta União para unir três campos em um.

    Mensagem  julianovv em 15/2/2020, 14:30

    Bom dia. Preciso criar um novo campo em uma consulta que seja a mesclagem de 3 campos desta consulta. Vasculhei muito sobre consulta União para unir os três campos e só encontrei concatenação (& " " &) que também uso bastante mas não é nesse caso.
    Tenho uma consulta com três campos, pchave01, pchave02 e pchave03. Nas três existe repetição de palavras. Preciso de um novo campo (pchaves) que retorne os campos sem duplicação.
    Qualquer luz é bem vinda.
    Rolling Eyes


    Última edição por julianovv em 20/4/2020, 13:29, editado 1 vez(es)


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2311
    Registrado : 22/11/2016

    [Resolvido]Consulta União para unir três campos em um. Empty Re: [Resolvido]Consulta União para unir três campos em um.

    Mensagem  DamascenoJr. em 15/2/2020, 16:52

    Se os três se repetem então basta retornar apenas o primeiro pchave01


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 619
    Registrado : 14/12/2010

    [Resolvido]Consulta União para unir três campos em um. Empty Res: Consulta União para unir três campos em um.

    Mensagem  julianovv em 17/2/2020, 18:02

    Obrigado pelo retorno. Já tentei isso mas existem palavras novas nas outras colunas que não estão na primeira.



    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2311
    Registrado : 22/11/2016

    [Resolvido]Consulta União para unir três campos em um. Empty Re: [Resolvido]Consulta União para unir três campos em um.

    Mensagem  DamascenoJr. em 17/2/2020, 21:31

    Anexe um exemplo de como está e como quer que aconteça.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 619
    Registrado : 14/12/2010

    [Resolvido]Consulta União para unir três campos em um. Empty Res: Consulta União para unir três campos em um.

    Mensagem  julianovv em 22/2/2020, 12:33

    Segue um exemplo da ordem nos campos. Observe que esta seria a forma mais limitada e simples de inserir as palavras sem necessidade de criar as tabelas próprias com relacionamento um-pra-muitos que onera o tamanho do banco. Pensei em criar uma tabela com todas as palavras e associar esse campo aos 3 campos 'pchave' mas ainda não testei o relacionamento e não sei se poderá dar certo.

    Exempo:

    https://drive.google.com/open?id=1NAHVN0RfMmcwQWPZwtzocia25gzvWTOp


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2311
    Registrado : 22/11/2016

    [Resolvido]Consulta União para unir três campos em um. Empty Re: [Resolvido]Consulta União para unir três campos em um.

    Mensagem  DamascenoJr. em 28/2/2020, 02:25

    Lógica aplicada.

    Criar a consulta da primeira coluna eliminando os campos vazios
    Código:
    SELECT nz(p1, "") as chaves FROM tblChaves WHERE p1 <> "";

    Criar a consulta da segunda coluna eliminando os campos vazios
    Código:
    SELECT nz(p2, "") as chaves FROM tblChaves WHERE p2 <> "";

    Criar a consulta da terceira coluna eliminandos os campos vazios
    Código:
    SELECT nz(p3, "") as chaves FROM tblChaves WHERE p3 <> "";

    Unindo as três
    Código:
    SELECT nz(p1, "") as chaves FROM tblChaves WHERE p1 <> ""
    UNION ALL
    SELECT nz(p2, "") FROM tblChaves WHERE p2 <> ""
    UNION ALL
    SELECT nz(p3, "") FROM tblChaves WHERE p3 <> "";

    Sabendo o comando da SQL das três unidas então aplico em uma nova SQL que elimina repetições
    Código:
    SELECT chaves
    FROM (SELECT nz(p1, "") as chaves FROM tblChaves WHERE p1 <> "" UNION ALL SELECT nz(p2, "") FROM tblChaves WHERE p2 <> "" UNION ALL SELECT nz(p3, "") FROM tblChaves WHERE p3 <> "")
    GROUP BY chaves;


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 619
    Registrado : 14/12/2010

    [Resolvido]Consulta União para unir três campos em um. Empty Res: Consulta União para unir três campos em um.

    Mensagem  julianovv em 20/4/2020, 13:28

    Bom dia. Não funcionou. Deu erro um atrás do outro. Voltei para o velho sistema criando a tbl PChaves e relacionamento 'um-pra-muitos' e incluindo todas elas.
    Obrigado!

    Wink



    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile

      Data/hora atual: 26/10/2020, 18:35