Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с UPDATE (В операции должен использоваться обновляемый запрос) / 11 сообщений из 11, страница 1 из 1
18.01.2005, 06:07:57
    #32869031
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
Это рабочий вариант
Код: plaintext
UPDATE TmpTable SET Gpm_Cu1003 = Gpm_Cu8001 *  2 ;


если же пишу
Код: plaintext
1.
2.
UPDATE TmpTable SET Gpm_Cu1003 = 
                       (SELECT ttest.y1 FROM model LEFT JOIN ttest ON model.id = ttest.id 
                       WHERE [model.title_model] ="'+'Cu1003'+'")



, то вылетает ошибка "В операции должен использоваться обновляемый запрос."
посмотрел в хелпе C:\Program Files\Common Files\Microsoft Shared\Office10\1049\JETSQL40.CHM инфо
про обновляемые запросы. в моем запросе нет никаких стат. или др. вычисляемый функций.
В чем тогда дело?
...
Рейтинг: 0 / 0
18.01.2005, 06:25:28
    #32869036
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
Хелп- Обновление данных в запросе
Запрос Запрос, вычисляющий сумму, среднее значений, пересчитывающий значения, а также выполняющий другие виды вычислений итогов значений поля, либо запрос на обновление, имеющий ссылки на поле в строке Обновление из перекрестного запроса, запроса на выборку или подчиненного запроса, содержащего итоговые значения или статистические функции
Изменение - Невозможно
Решение:
С помощью статистических функций по подмножеству в строке Обновление запроса на обновление можно указать ссылки на поля перекрестного запроса, запроса на выборку или подчиненного запроса, содержащего итоговые значения или статистические функции.
...
Рейтинг: 0 / 0
18.01.2005, 06:30:34
    #32869038
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
это я читал, но ничего не понял.
пробывал вместо update использовать insert into, а потом к результату вставки делать группировку (sum), т.е.
на insert into у меня записей получалось в x раз больше, чем при update, где x-число вызовов insert into.

посмотрел в инете, советуют на такую ошибку следующие решения:
1. открыть доступ к базе на изменение
2. разбить запросы на два

но это думаю не для моей базы
...
Рейтинг: 0 / 0
18.01.2005, 06:32:54
    #32869041
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
http://]http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q175/1/68.ASP&NoWebContent=1

у меня просто delphi6+ado+access, никаких asp нет
...
Рейтинг: 0 / 0
18.01.2005, 06:36:36
    #32869043
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
вот еще нашел
Опыт использования ADO для доступа к базам данных форматов MS Access, xBase и Paradox " Из неё: Для того, чтобы Вы имели возможность производить действия по добавлению, удалению записей или редактированию данных в таблице, таблица должна иметь первичный ключ. Создал в таблице первичный ключ - всё заработало!!!

у меня таблица вот такая
Код: plaintext
1.
2.
3.
4.
5.
6.
create table  experiment2(
id integer,
t  double,
y1 double,
y2 double,
y3 double
);

что значит добавить первичный ключ?
...
Рейтинг: 0 / 0
18.01.2005, 06:47:23
    #32869045
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
1.С дельфями я пас. Но в общем случае, что мешает выдернуть значение из подчиненного запроса в переменную и динамически сформировать выражение SQL?
2.
Код: plaintext
1.
2.
3.
4.
5.
create table  experiment2
(t  double,
y1 double,
y2 double,
y3 double
id integer CONSTRAINT MyKey PRIMARY KEY);
id - будет ключевым полем.
...
Рейтинг: 0 / 0
18.01.2005, 07:06:11
    #32869055
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
а как теперь запролнять ключевое поле - компилятор ругается на то, что ключ. поле не может быть Null?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    sqlString:= 'INSERT INTO TmpTable (t, %s) '+
                'SELECT ttest.t, %s '+
                'FROM model LEFT JOIN ttest ON model.id = ttest.id ' +
                'WHERE [model.title_model] = %s';

    sqlString := 'UPDATE TmpTable SET Gpm_Cu1003 = '+
                '(SELECT ttest.y1 FROM model LEFT JOIN ttest ON model.id = ttest.id '+
                'WHERE [model.title_model] ="'+'Cu1003'+'")';

я явно нигде не указываю ключевое поле, в строке %s его нет.
...
Рейтинг: 0 / 0
18.01.2005, 07:13:20
    #32869059
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
как ключевое поле сделать автоинкрементным, типа счетчик?
...
Рейтинг: 0 / 0
18.01.2005, 07:53:06
    #32869088
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
create table xx (id counter)
...
Рейтинг: 0 / 0
18.01.2005, 07:54:38
    #32869089
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
точнее
create table xx (id counter CONSTRAINT MyKey PRIMARY KEY)
...
Рейтинг: 0 / 0
18.01.2005, 08:49:36
    #32869134
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с UPDATE (В операции должен использоваться обновляемый запрос)
или так CREATE TABLE TmpTable (ID counter, t double, .... , Primary Key (ID))?

добавление ключа не решило проблему

пришлось добавлять insetr into, а потом прогонять группировку
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с UPDATE (В операции должен использоваться обновляемый запрос) / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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