Главная страница
    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.083 c
15-1182784402
antonn
2007-06-25 19:13
2007.07.22
проблемка с html


2-1182500300
First
2007-06-22 12:18
2007.07.22
Анимация


3-1176452864
Nike
2007-04-13 12:27
2007.07.22
отображение DBGrid при пустом датасете


2-1182932640
ОН
2007-06-27 12:24
2007.07.22
Создание таблицы в Access


2-1182965649
mc0808
2007-06-27 21:34
2007.07.22
Программа не запускается на машине без Дельфи





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский