Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];

Вниз

update sql с подзапросом   Найти похожие ветки 

 
nod ©   (2007-04-19 15:00) [0]

ADOQuery1.SQL.Text:="update base set fond005 = (select sum(pension.summa) from pension where
pension.cex=1 group by pension.cex) ";
ошибка - в операции должен использоваться обновляемый запрос  

поясните из-за чего такая ошибка? проверял селект выводит только одну строку


 
Sergey13 ©   (2007-04-19 15:03) [1]

> [0] nod ©   (19.04.07 15:00)

Ты случаем не ADOQuery1.Open делаешь?


 
nod ©   (2007-04-19 15:10) [2]

ADOQuery1.execsql;

базы dbase


 
Sergey13 ©   (2007-04-19 15:18) [3]

> [0] nod ©   (19.04.07 15:00)

А тебе надо во все записи base посадить одно и то-же число?


 
nod ©   (2007-04-19 15:28) [4]

к сожалению нет, а запрос написан просто для теста, но даже он не работает... собственно сами подзапросы при update  уменя не работают, одна и таже ошибка постоянно


 
sniknik ©   (2007-04-19 15:28) [5]

> в операции должен использоваться обновляемый запрос  
по какойто причине (могут быть разные) jet считает, что запись ведется в ридонли таблицу... (группировка одной + обьеденение с другой тоже может посчитать что обе нередактируемые)

> проверял селект выводит только одну строку
зачем тогда группировка? убери


 
sniknik ©   (2007-04-19 15:33) [6]

В операции должен использоваться обновляемый запрос. (Ошибка 3073)
Попытка запустить, открыть или изменить запрос, который не является обновляемым.

Возможные причины:

Попытка запустить запрос, в котором предпринимается попытка обновить необновляемое поле. Например, создан запрос, в котором предпринимается попытка обновить поле на стороне «один» отношения «один-ко-многим».
Попытка использовать устаревший метод OpenQueryDef для запроса, находящегося в базе данных, открытой с доступом только для чтения.
База данных может быть доступной только для чтения по одной из следующих причин:

База данных была открыта только для чтения с помощью метода OpenDatabase или элемента управления Data Visual Basic.
Файл базы данных определен с доступом только для чтения в сетевой операционной системе.
Пользователь не имеет привилегий записи в этот файл базы данных в сетевой среде.
Закройте базу данных, снимите ограничение доступа только для чтения и вновь откройте файл с доступом для чтения/записи.

Отсутствуют разрешения на внесение изменений в запрос. Для изменения разрешений обратитесь к системному администратору или создателю таблицы или запроса.


 
nod ©   (2007-04-19 15:37) [7]

спасибо за помощь.
пришлось обойти проблему так
 ADOQuery1.SQL.Text:="update base left join pension on base.cex=pension.cex set base.pension = pension.summa";
но думаю я к ней еще вернусь


 
nod ©   (2007-04-19 16:05) [8]

еще вопрос как написать, что бы в предыдущем запросе
set base.pension = pension.summa";  было не pension.summa, а sum(pension.summa) group by cex



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.046 c
2-1182861887
Ламер 2.Х
2007-06-26 16:44
2007.07.22
Окна


15-1182576092
KilkennyCat
2007-06-23 09:21
2007.07.22
Как убить продукт, или о бесплатном ПО


2-1182752139
Washington
2007-06-25 10:15
2007.07.22
"Резиновый" дизайн


2-1182851785
trace
2007-06-26 13:56
2007.07.22
как можно корректно определить, что за указателем есть объект


15-1182220353
Slider007
2007-06-19 06:32
2007.07.22
С днем рождения ! 19 июня 2007 вторник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский