У меня есть две таблицы: «PartNumberX» и «MasterPartTable». Моя конечная цель - извлечь определенные поля из «MasterPartTable», используя запросы, чтобы получить список уникальных номеров деталей («MasterPartTable» имеет дубликаты). Я смог успешно получить все поля, которые я хотел, кроме одного, используя метод SELECT DISTINCT
. К сожалению, последний столбец «Название детали» неаккуратно создан (кем-то другим), а некоторые названия деталей имеют запятую, где одинаковый номер детали не может быть, например. «Assembly, The Thing» и «Assembly The Thing» имеют одинаковый номер детали, поэтому я хочу только одного из них. Моя идея состояла в том, что я смог бы вставить хорошие данные в таблицу, а затем запустить запрос на обновление, который использует DLookup
для поиска имени детали, используя номер детали в «PartNumberX», чтобы найти соответствующее имя части из «MasterPartTable» «но я не могу заставить его работать.Как использовать DLookup В запросе обновления
Когда я использую запрос на обновление ниже, он возвращает то же количество пустых полей, что и в «PartNumberX».
UPDATE PartNumberX
SET PartNumberX.[Part Name] = DLookUp("[MasterPartTable].[Part_Name]","MasterPartTable","MasterPartTable.Part_Number = PartNumberX.Part_Number");
Я пропустил что-то здесь или есть другой способ сделать это? Я знаю, что я мог бы использовать VBA и прокручивать каждое поле отдельно для этого, но я бы предпочел гораздо более быстрый запрос.
Edit-
Используя второй метод из HansUp я получил следующее:
UPDATE MasterpartsTable INNER JOIN PartNumberX ON MasterpartsTable.Part_Number=
PartNumberX.Part_Number
SET PartNumberX.[Part Name] = [MasterpartsTable].[Part_Name];
Какие результаты в пустой запрос.
Edit2-
Я на самом деле просто побежал проклятую вещь, и она работала отлично! Я не понимаю, почему предварительный просмотр выглядит пустым, но независимо от того, работает ли он.