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

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

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

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

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

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

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

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

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

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

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

DMax работает, за это спасибо большое. Просто всё это показывает один большой недостаток Access SQL, я для SQL Server такие запросища огромные писал, строк на 100. А Access на самом элементарном обломал, жаль...
...
Рейтинг: 0 / 0
16.06.2004, 17:31:01
    #32564246
operation must use an updateable query
Про сложный подзапрос:
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
16.06.2004, 17:34:25
    #32564254
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
operation must use an updateable query
Никита А. Зимин
Код: 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
16.06.2004, 17:40:09
    #32564264
operation must use an updateable query
А я уже нашел по-другому:
Код: plaintext
1.
2.
UPDATE [DocumentArchive], [Document] SET [DocumentArchive].document_name = [Document].[name]
WHERE [Document].document_id = [DocumentArchive].document_id;
...
Рейтинг: 0 / 0
16.06.2004, 17:53:25
    #32564287
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
operation must use an updateable query
Никита А. ЗиминА я уже нашел по-другому:
Код: 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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / operation must use an updateable query / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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