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

    [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Compartilhe

    wesleyribeiro123
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 26/12/2017

    [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Mensagem  wesleyribeiro123 em 9/1/2018, 14:07

    Galera
    Bom dia,

    Tenho pouca experiência no Access e gostaria de um auxílio em algo.
    Tenho uma base de um cliente que vem seguindo esta estrutura:

    ProdutoValorQtdaQtda_Out_2017_JaçanaQtda_Out_2017_Boa_VistaQtda_Out_2017_Guarulhos
    X15,205212
    Y20,157322
    Z21,509423
    Na minha consulta em SQL preciso que em Cliente venha os últimos nomes apenas 2017 dos campos Qtda, ou seja,
    supondo que a consulta seja para o Cliente Jaçana, este é o resultado esperado:


    Cliente     Qtda
    Jaçana       2
    Jaçana       3
    Jaçana       4
    Eu tentei escrever isto:
    Código:

    Select
    Right(Qtda_Out_2017_Jaçana,6) as Cliente,
    Qtda
    From minhatabela

    Porém o resultado foi um Right() dos campos e não um Right() do título da Coluna como desejado.
    Como faço para que o Right(), ou um SubString() funcionem no título e não nos campos da tabela?
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3904
    Registrado : 14/08/2013

    Re: [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Mensagem  FabioPaes em 9/1/2018, 19:32

    olá! Crie um Módulo e cole isso:


    Public Function NomeCampo(strTabela As String, nCampo As Integer)
    'Criado por FabioPaes
    'Em 09/01/2018

    'Para Tabelas

    NomeCampo = CurrentDb.TableDefs(strTabela).Fields(nCampo).Name
    'Para Consultas
    'NomeCampo = CurrentDb.QueryDefs(strTabela).Fields(nCampo).Name

    End Function



    Chame a Função assim:
    No VB: NomeCampo("NomeTabela",1)
    Direto na Consulta: NomeCampo("NomeTabela";1)


    NomeTabela= Nome da Tabela
    1= A Posição do Campo na tabela, considerando o 0 como sendo a primeira coluna.

    Obs: Faça a edição da Função e remova os caracteres extras que pretende descartar.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    wesleyribeiro123
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 26/12/2017

    Re: [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Mensagem  wesleyribeiro123 em 9/1/2018, 19:40

    FabioPaes

    Mestre, muito obrigado...
    Funcionou perfeitamente!!!

    Muito inteligente tua solução... Essa vou guardar!!!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3904
    Registrado : 14/08/2013

    Re: [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Mensagem  FabioPaes em 9/1/2018, 19:43

    Bacana amigo, Grato pelo retorno e até a Próxima se Deus quiser!

    Se a duvida foi solucionada, por favor marque como Resolvido!!!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    wesleyribeiro123
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 26/12/2017

    Re: [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Mensagem  wesleyribeiro123 em 9/1/2018, 19:45

    Resolvido... Obrigado!!!

    wesleyribeiro123
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 26/12/2017

    Re: [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Mensagem  wesleyribeiro123 em 10/1/2018, 10:13

    Pessoal
    Bom dia,

    Abusando um pouco da boa vontade de vcs, rsrs...
    A solução do FabioPaes resolveu bem oq precisava, porém com a solução dele surgiu uma nova necessidade...

    Na função criada, ele utiliza a referência da Coluna para identificar o Nome dela. A dúvida é, seria possível também, através da mesma referência puxar os valores desta coluna?

    Pq atualmente na minha consulta eu puxo os valores pelo nome dela, mas como essa planilha base é dinâmica o correto seria usar a solução do FabioPaes tanto para identificar o nome da coluna quanto os valores da mesma!!!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3904
    Registrado : 14/08/2013

    Re: [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Mensagem  FabioPaes em 10/1/2018, 13:58

    Olá, Direto na Consulta eu não conheço amigo!

    Agora, se abrir um RecordSet, poderá pegar seus valores apenas informando a Coluna...


    Ex:

    Código:
    Dim rs As DAO.Recordset
    Dim Db As Database
    Set rs = Db.OpenRecordset("SELECT * FROM NomeTabela") 'Pode Informar apena o nome da tabela para trazer tudo

    MsgBox rs(0) 'Irá mostrar o que tem na coluna 0 do recordset aberto

    Set rs = Nothing


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    wesleyribeiro123
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 26/12/2017

    Re: [Resolvido]Criar Consulta Retornando o Título da Coluna como Campo da Tabela

    Mensagem  wesleyribeiro123 em 11/1/2018, 12:09

    Entendi FabioPaes, vou tentar adaptar aqui!!!

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