Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Запрос на обновление - 2 в 1  [new]
VistaSV30
Member

Откуда: Балашиха
Сообщений: 151
Добрый вечер!

Подскажите как зпр01 записать в запросе зпр02 ?

зпр01
SELECT тбл02.Код, тбл02.D
FROM тбл02
WHERE (((тбл02.Код)=11));


зпр02
UPDATE тбл01 SET тбл01.F = DLookUp("[D]","зпр01","[Код]=" & тбл01!Код);


Это нужно, чтоб потом записать запрос в коде VBA.

Спасибо!

К сообщению приложен файл (Database1.rar - 17Kb) cкачать
25 апр 19, 20:57    [21872054]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на обновление - 2 в 1  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27515
UPDATE тбл01 inner join тбл02 on тбл01.Код=тбл02.Код SET тбл01.F=тбл02.D


Файл не смотрел
26 апр 19, 00:09    [21872119]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на обновление - 2 в 1  [new]
VistaSV30
Member

Откуда: Балашиха
Сообщений: 151
mds_world, спасибо!
С таблицами все работает, но у меня данные для обновления берутся из запроса.

Когда я вместо таблицы подставляю запрос, выдает ошибку "В операции должен использоваться обновляемый запрос".
26 апр 19, 09:12    [21872220]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на обновление - 2 в 1  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 299
VistaSV30
Когда я вместо таблицы подставляю запрос, выдает ошибку "В операции должен использоваться обновляемый запрос".
Тогда только DLookUp.

VistaSV30
Это нужно, чтоб потом записать запрос в коде VBA.
А что мешает?
strSQL = "UPDATE тбл01 SET тбл01.F = DLookUp('[D]','зпр01','[Код]=' & тбл01!Код);"
или
strSQL = "UPDATE тбл01 SET тбл01.F = DLookUp(""[D]"",""зпр01"",""[Код]= & тбл01!Код);"
26 апр 19, 11:26    [21872387]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на обновление - 2 в 1  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6135
VistaSV30,
Стою на асфальте я в лыжи обутый
Иль лыжи не едут,иль я е.....

Из того что вижу делаю вывод:добавить в тбл01 запись со значением поля тбл01.F=тбл02.D из записи в которой тбл02.код=11. Так? (кстати откуда берется во втором запросе значение тбл01!код?)
26 апр 19, 12:05    [21872456]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на обновление - 2 в 1  [new]
VistaSV30
Member

Откуда: Балашиха
Сообщений: 151
Анатолий так как Вы советуете все работает.

Мне нужно в запросе на обновление вместо ссылки на на запрос "зпр01" указать код запроса:
SELECT тбл02.Код, тбл02.D
FROM тбл02
WHERE (((тбл02.Код)=11));


Вот в чем проблема
26 апр 19, 12:09    [21872468]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на обновление - 2 в 1  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6135
VistaSV30
.... вместо ссылки на на запрос "зпр01" указать код запроса...
Поясните что имеется ввиду под словами "код запроса".....
26 апр 19, 12:22    [21872499]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на обновление - 2 в 1  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 299
UPDATE тбл01 inner join (SELECT тбл02.Код, тбл02.D FROM тбл02 WHERE тбл02.Код=11) As зпр01 on тбл01.Код=зпр01.Код SET тбл01.F=зпр01.D

А проще так:
UPDATE тбл01 inner join тбл02 on тбл01.Код=тбл02.Код SET тбл01.F=тбл02.D WHERE тбл02.Код=11

автор
Когда я вместо таблицы подставляю запрос, выдает ошибку "В операции должен использоваться обновляемый запрос".
А ваш зпр01 точно тот, что вы показали?
Ваше тбл02.Код точно ключевое или уникальное?
26 апр 19, 13:09    [21872572]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить