UPDATE с подчиненным запросом с исп. DLOOKUP

Лысёк
Дата: 04.02.2016 16:08:16
Ув. специалисты, извините, что за поможением к вам обращаюся, сам не программист. Внесите пожалуйста в код коррективы, т.к. работает не так как надо.

Требуется создать запрос, который будет менять значение в поле [Пациенты].[Диагноз] на значение, которое есть в таблице [Форма работы с учетными].[_Диагноз] у пациента, у которого [Пациенты].[№] (№- это ключевое поле) совпадает с [Форма работы с учетными].[Фамилия, имя, отчество_].

UPDATE [Пациенты]
INNER JOIN [Форма работы с учетными]
ON [Пациенты].№ = [Форма работы с учетными].[Фамилия, имя, отчество_]
SET [Диагноз] = 
DLOOKUP ("[_Диагноз]", "Форма работы с учетными");


В данном запросе по-отдельности все работает как надо (т.е. INNER JOIN выводит нужного пациента), DLOOKUP выводит нужный диагноз. А совместно ничего не меняется.
непоймучка
Дата: 04.02.2016 16:18:47
Лысёк
Ув. специалисты, извините, что за поможением к вам обращаюся, сам не программист. Внесите пожалуйста в код коррективы, т.к. работает не так как надо.

Требуется создать запрос, который будет менять значение в поле [Пациенты].[Диагноз] на значение, которое есть в таблице [Форма работы с учетными].[_Диагноз] у пациента, у которого [Пациенты].[№] (№- это ключевое поле) совпадает с [Форма работы с учетными].[Фамилия, имя, отчество_].

UPDATE [Пациенты]
INNER JOIN [Форма работы с учетными]
ON [Пациенты].№ = [Форма работы с учетными].[Фамилия, имя, отчество_]
SET [Диагноз] = DLOOKUP ("[_Диагноз]", "Форма работы с учетными");


так попробуйте
UPDATE [Пациенты]
INNER JOIN [Форма работы с учетными]
ON [Пациенты].№ = [Форма работы с учетными].[Фамилия, имя, отчество_]
SET [Пациенты].[Диагноз] = [Форма работы с учетными].[_Диагноз]
Лысёк
Дата: 04.02.2016 16:22:57
непоймучка

так попробуйте
UPDATE [Пациенты]
INNER JOIN [Форма работы с учетными]
ON [Пациенты].№ = [Форма работы с учетными].[Фамилия, имя, отчество_]
SET [Пациенты].[Диагноз] = [Форма работы с учетными].[_Диагноз]
[/quot]
То же самое, значение в поле [Диагноз] остается прежним, не переносится из [Форма работы с учетными]
Лысёк
Дата: 04.02.2016 16:24:26
непоймучка, стоп, извиняюсь. кажется работает. спасибо!
Лысёк
Дата: 04.02.2016 16:27:18
непоймучка,
Блин, и мой запрос работает, вот я лох. Просто в режиме таблицы показывает старый диагноз, а через выполнить всё работает. Спасибо еще раз, извините.
непоймучка
Дата: 04.02.2016 17:00:24
Лысёк
непоймучка,
Блин, и мой запрос работает
он сработает корректно только в случае, если в [Форма работы с учетными] - одна запись,
ибо DLOOKUP без критерия (а у вас он именно такой) читает значение указанного поля из первой записи таблицы

но самое главное - использование DLOOKUP в таком запросе вообще лишено смысла,
т.к. при помощи вашего INNER JOIN вы УЖЕ имеете там значение, нужное для обновления,
и дополнительное обращение к базе данных (которое выполняет любой DLookup) не требуется