MaximoAccess

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

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Consulta com Múltiplos Valores em um Campo

    Compartilhe

    eel_afs
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 25/04/2017

    Consulta com Múltiplos Valores em um Campo

    Mensagem  eel_afs em 25/4/2017, 14:31

    Bom dia,

    estou precisando de uma ajuda com o access. Não sei se é possível fazer o que quero.

    Estou implementando um programa no excel, tendo o access como base de dados.

    Em uma tabela X do Access (importada de outra fonte do excel) veio um campo com valores separados por ";".

    Em uma outra Tabela Y do Access, existe os valores da Tabela X individualmente relacionados com o nome.

    Ex.:
    Tabela X - Campo Chaves            
                  Col1
    Linha 1 - A;B;C;E;F
    Linha 2 - D;E
    Linha 3 - H
    Linha 4 - A; F

    Tabela Y - Chave/Nome
    Col1     Col2
    A         João
    B         Mário
    C         Ivan
    D         Pedro
    E         Maria
    G         Thiago
    I          André


    O resultado que eu gostaria na Tabela Z seria:
    Col1                          Col2                       Col3
    TabelaX.col1       ExistentesNaTabelaX       Nomes  
    A;B;C;E;F             A;B;C;E                       João; Mário; Ivan; Maria
    D;E                      D;E                             Pedro; Maria  
    H                        
    A; F                     A                                João  

    Como saber qual linha da tabela X tem valores da tabela Y? Tem como fazer através de consulta?

    Eu havia resolvido este problema através de código, criando uma nova tabela onde eu separei a quantidade de ";" em novas linhas, relacionei a nova tabela com  a tabela Y e depois através de código salvei na tabela que eu queria.

    Mas isto acabou ficando lento e de um programa de porte razoável está consumindo 80% do tempo apenas nesta função.

    Desta forma peço o auxílio e conhecimento dos amigos para ver se é possível resolver este tipo de problema de alguma forma que não conheço.

    Obrigado.

    Abs,
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5589
    Registrado : 15/03/2013

    Re: Consulta com Múltiplos Valores em um Campo

    Mensagem  ahteixeira em 26/4/2017, 13:14

    Olá André Schiochet, Bem-Vindo ao fórum MaximoAccess.

    Este fórum é de Access, fiquei com dúvidas da Col2 do resultado pretendido.
    No entanto não sei que tipo de projeto está a desenvolver, mas com a experiencia que tenho creio que em Access seria mais fácil.

    Já experimentou uma "Busca" aqui no fórum se não tem algo identico, veja como fazer:
    [Você precisa estar registrado e conectado para ver este link.]

    Veja um exemplo que acabei de fazer para um colega interagindo com Excel:
    [Você precisa estar registrado e conectado para ver este link.]

    Abraço e bons estudos com o MaximoAccess

    eel_afs
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 25/04/2017

    Re: Consulta com Múltiplos Valores em um Campo

    Mensagem  eel_afs em 27/4/2017, 19:49

    Olá ahteixeira,

    A coluna 2 verificou quem da tabela X existia na tabela Y.

    No caso da primeira linha, na tabela X existiam os valores A;B;C;E;F. Mas como pode ser observado na tabela Y, o valor de "F" não existe na tabela Y. Desta forma a coluna 2 cruzou as informações e apresentou apenas quem pertence à tabela Y ("A, B, C, E").

    A solução que realizei por código foi a seguinte:

    Criei uma nova tabela (Tabela S) separando as linhas com cada item:
    S.col1 S.col2
    Linha1 A
    Linha1 B
    Linha1 C
    Linha1 E
    Linha1 F
    Linha2 D
    Linha2 E
    Linha3 H
    Linha4 A
    Linha4 F

    Fiz uma consulta ligando a TabelaS.col2 com a TabelaY.col2 e através de macro juntei novamente para compor a tabela Z.

    A minha dúvida é se não seria possível realizar isto através de uma consulta, criando relacionamentos ou de alguma forma armazenando vários valores em um campo de pesquisa.

    Se fizer uma pesquisa na internet "Armazenar vários valores em um campo de pesquisa" encontra algumas referências, mas para meu nível de access não entendi....rssss

    Sobre usar o Access diretamente, na aplicação não é viável pois os usuários não terão access instalado. O access será apenas base de dados, e conecto excel e access através de ADODB.

    Encontrei dificuldade em como pesquisar esta minha necessidade...

    De qualquer forma, obrigado.

    Se alguém tiver uma outra solução agradeço.

    Abs,
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    Re: Consulta com Múltiplos Valores em um Campo

    Mensagem  philipp.moreira em 28/4/2017, 04:24

    Boa noite!

    Não sei se foi só para exemplificar, mas, a falta de performance pode estar estar relacionada (na minha opinião) :

    Poste um arquivo com massa de dados e seu Bd (somente a parte relacionada a questão), pois, assim os amigos do fórum podem analisar melhor e te propor uma idéia de como melhorar afim de uma melhor performance.

    Obs.: Caso os arquivos sejam muitos extensos, poste em algum site de compartilhamento (google drive, drop box, etc) ;)

      Data/hora atual: 16/11/2018, 10:15