powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / operation must use an updateable query
11 сообщений из 11, страница 1 из 1
operation must use an updateable query
    #32562344
UZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UZ
Гость
привет, очень тупой вопроc. вот такой вот простой запросик нормально работает на SQL Server:

UPDATE Orders
SET PackageGroupID = (SELECT MAX(ID) FROM PackageGroups)
WHERE ID =2

однако, на Access выдаётся сообщение "operation must use an updateable query", в чёи дело??? заранее спасибо
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32562348
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что подзапрос не обновляем :(
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32562350
UZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UZ
Гость
paparomeДело в том, что подзапрос не обновляем :(

это я понял, так можно ли как-то переписать этот элементарный запрос под Access?
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32562356
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй вместо подзапроса функцию DMax использовать?
Вдруг поможет :)

PS: не проверял
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32562378
UZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UZ
Гость
paparomeПопробуй вместо подзапроса функцию DMax использовать?
Вдруг поможет :)

PS: не проверял

ну хорошо, а если бы был такой подзапрос, для которого небыло бы подходящей функции? великий Access не поддерживает такую элементарную операцию?????
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32562391
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UZ
ну хорошо, а если бы был такой подзапрос, для которого небыло бы подходящей функции? великий Access не поддерживает такую элементарную операцию?????

Насчет хорошо - я даже не знаю, будет ли работать с функцией DMax!

Про сложный подзапрос:
1. Если с функцией работает, то кто вам мешает написать свою "сложную" функцию
2. Это всета-ки надо с конкретным запросом разбираться, ибо панацеи не существует
3. И в конце концов - можно результат сложного подзапроса сбрасывать во "временную" таблицу и уже на ее основе строить запрос на обновление
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32562403
UZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UZ
Гость
paparome UZ
ну хорошо, а если бы был такой подзапрос, для которого небыло бы подходящей функции? великий Access не поддерживает такую элементарную операцию?????

Насчет хорошо - я даже не знаю, будет ли работать с функцией DMax!

Про сложный подзапрос:
1. Если с функцией работает, то кто вам мешает написать свою "сложную" функцию
2. Это всета-ки надо с конкретным запросом разбираться, ибо панацеи не существует
3. И в конце концов - можно результат сложного подзапроса сбрасывать во "временную" таблицу и уже на ее основе строить запрос на обновление

DMax работает, за это спасибо большое. Просто всё это показывает один большой недостаток Access SQL, я для SQL Server такие запросища огромные писал, строк на 100. А Access на самом элементарном обломал, жаль...
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32564246
Про сложный подзапрос:
1. Если с функцией работает, то кто вам мешает написать свою "сложную" функцию
2. Это всета-ки надо с конкретным запросом разбираться, ибо панацеи не существует
3. И в конце концов - можно результат сложного подзапроса сбрасывать во "временную" таблицу и уже на ее основе строить запрос на обновление

Пример из жизни:

Код: plaintext
1.
UPDATE [DocumentArchive] DA SET [document_name] = (SELECT [name] FROM [Document] D WHERE D.document_id = DA.document_id);

DMax тут не поможет.
Вопрос - как сделать пункт 3? Все это надо в гольном Jet SQL
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32564254
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Никита А. Зимин
Код: plaintext
1.
UPDATE [DocumentArchive] DA SET [document_name] = (SELECT [name] FROM [Document] D WHERE D.document_id = DA.document_id);

DMax тут не поможет.
UPDATE [DocumentArchive] DA SET [document_name] = dlookup("name","Document","document_id="&cstr(document_id))
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32564264
А я уже нашел по-другому:
Код: plaintext
1.
2.
UPDATE [DocumentArchive], [Document] SET [DocumentArchive].document_name = [Document].[name]
WHERE [Document].document_id = [DocumentArchive].document_id;
...
Рейтинг: 0 / 0
operation must use an updateable query
    #32564287
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита А. ЗиминА я уже нашел по-другому:
Код: plaintext
1.
2.
UPDATE [DocumentArchive], [Document] SET [DocumentArchive].document_name = [Document].[name]
WHERE [Document].document_id = [DocumentArchive].document_id;


И еще по другому

Код: plaintext
1.
UPDATE [DocumentArchive] DA INNER JOIN [Document] D On DA.document_id = D.document_id
SET DA.document_name = D.[name];

И где тут не обновляемый запрос?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / operation must use an updateable query
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]