1

Недавно я перешел из Excel 2007 в Access 2007, чтобы управлять электронными таблицами, которые никогда не должны были быть. К сожалению, из того, что я могу сказать, функция LOOKUP в Excel не работает точно так же, как столбец Lookup в Access.

Моя проблема с Access заключается в том, чтобы перевести функциональность из Excel в LOOKUP, которая могла бы выглядеть так:

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

У меня проблемы с созданием выражения, которое фиксирует эту функциональность. В поисках объяснения того, как заполнить один столбец, используя данные, введенные из предыдущего, я нашел различные методы, включающие фильтры и VBA, но не объяснил, как они работают, и я неохотно просто добавляю код, если я не сделаю этого. есть много объяснений того, как это работает.

  • Как мне заполнить один столбец, используя данные из предыдущего?
    • Есть ли способ сделать это, используя отношения, или выражение лучше?
    • Я ожидаю ввода либо выражения в фильтр выбора, который выбирает на основе столбца ввода, либо чего-то похожего на DATE(), где значение по умолчанию отбрасывается на основе COLUMNNAME([FILTER]); Есть ли проблемы целостности с этим подходом?
  • Будет ли DLookup более эффективным инструментом здесь? Что-то вроде;
    • DLookup([CCD].[Name], [CCDBackend], [CCD].[ClientID]=[CCDBackend].[ClientID])
  • Есть ли доступный ресурс для мозга с добавлением Excel, пытающегося перековать себя каким-то доступным способом Access?

Я пытаюсь не засорять очередь вопросов пустыми итерациями VBA gobbledygook. Помните, что для этого вопроса объяснения ответов и методы будут более полезными, чем фрагмент кода.

2 ответа2

2

Access не смотрит на данные так же, как Excel. В таблице доступа данные хранятся в записях (ячейках) поля (столбца). На записи нельзя ссылаться в других "ячейках" таблицы, как позволяет Excel.

Чтобы скопировать данные из одной записи в другую только один раз, вы можете открыть таблицу в виде таблицы и скопировать и вставить столбец. Если вы считаете, что вам придется делать это более одного раза или хотите отфильтровать его по критериям, запрос на добавление, вероятно, поможет вам лучше всего.

Не вдаваясь в глубины создания запроса, вот статья « Использование построителя выражений в Access 2010», в которой показано, как использовать построитель выражений, когда они добавляют поле в таблицу, а затем заполняют данные, используя данные из другого поля.

Это должно дать вам общее представление о том, как это работает достаточно для выполнения вашей задачи.

2

Функция Excel =LOOKUP(A47, Winning!A1:A112, Winning!B1:B112) можно изменить на dlookup (но если это делается часто, вы можете использовать наборы записей или запросы)

Перевод будет:

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

Конечно, я использовал некоторые имена, так как не знаю, как именно хранятся ваши данные.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .