Como uso o Expression Builder no Access para criar uma função LOOKUP?

1

Eu recentemente mudei do Excel 2007 para o Access 2007 para gerenciar o que nunca deveria ter sido planilhas. Infelizmente, pelo que eu posso dizer, a função LOOKUP no Excel não funciona exatamente da mesma forma que uma coluna Lookup no Access.

A minha dificuldade com o Access está em traduzir a funcionalidade de um Excel um LOOKUP que pode ter sido assim:

=LOOKUP(A47, Winning!A1:A112, Winning!B1:B112)

Estou com problemas para criar uma expressão que capture essa funcionalidade. Em busca de uma explicação sobre como preencher uma coluna usando dados inseridos de um anterior, eu encontrei vários métodos envolvendo filtros e VBA, mas nenhuma explicação de como eles funcionam e eu estou relutante em simplesmente descartar código se eu não tem muita explicação sobre como funciona.

  • Como faço para preencher uma coluna usando a entrada de uma anterior?
    • Existe uma maneira de fazer isso usando relacionamentos ou uma expressão é um método melhor?
    • Espero inserir uma expressão em um filtro de seleção que selecione com base na coluna de entrada ou algo parecido com DATE (), em que um valor padrão é eliminado com base em COLUMNNAME ([FILTER ]); há problemas de integridade com essa abordagem?
  • A DLookup seria uma ferramenta mais eficaz aqui? Algo como;
    • DLookup([CCD].[Name], [CCDBackend], [CCD].[ClientID]=[CCDBackend].[ClientID])
  • Existe algum recurso disponível para o cérebro do Excel tentando reforçar-se de alguma forma acessível do Access?

Eu estou tentando não entupir a fila de perguntas com iterações do VBA gobbledygook. Por favor, tenha em mente que, para esta pergunta, explicações de respostas e métodos serão mais úteis do que um trecho de código.

    
por mfg 09.08.2012 / 16:51

2 respostas

2

O Access não analisa os dados da mesma maneira que o Excel. Em uma tabela do Access, os dados são armazenados em registros (células) de um campo (coluna). Os registros não podem ser referenciados em outras "células" da tabela, como o Excel permite.

Para copiar dados de um registro para outro apenas uma vez, você pode abrir a tabela no modo de folha de dados e copiar e colar uma coluna. Se você acha que precisará fazer isso mais de uma vez ou deseja filtrá-lo com um critério, uma consulta adicional provavelmente ajudará você.

Sem entrar nas profundezas da criação de uma consulta, aqui está um artigo, Usando o Expression Builder no Access 2010 , que mostra como usar o Expression Builder, onde eles adicionam um campo a uma tabela e, em seguida, os preenchem usando dados de outro campo.

Isso deve lhe dar uma ideia básica de como isso funciona o suficiente para concluir sua tarefa.

    
por 09.08.2012 / 20:26
2

A função =LOOKUP(A47, Winning!A1:A112, Winning!B1:B112) do excel pode ser alterada para um dlookup (mas se for feita com frequência, você pode querer usar conjuntos de registros ou consultas)

A tradução seria:

Result=dlookup("[B Column]","Table with A & B Data","[A column]=A47")

é claro, eu tomei algumas liberdades nos nomes usados, já que não sei exatamente como seus dados são armazenados

    
por 09.08.2012 / 20:29