Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

Использование результата запроса Select в Update   Найти похожие ветки 

 
Kostafey ©   (2007-05-07 14:43) [0]

Уважаемые Мастера! Прошу помоши в следующем вопросе.

СУБД Access, ADO (ADOCommand)
Необходимо выполнить запрос на изменение записи, где результат
берется из запроса. Что-то вроде:

update Dar
set Kol =
(
 select Count(*)
 from InventarDar
 where InventarDar.InventarDar_Dar_id = Param1
)
where Dar.Dar_id = Param2

где Param1, Param2 -параметры.
Этот код приводит к ошибке.

В SQL Server можно было бы написать что-то вроде:

Declare @NewKol integer
Set @NewKol = (
 select Count(*)
 from InventarDar
 where InventarDar.InventarDar_Dar_id = Param1
)
update Dar
set Kol = @NewKol
where Dar.Dar_id = Param2


Кстати на соседних ветках упоминался JETSQL40.CHM.
Declare - есть в списке зарезервированных слов Microsoft Jet,
но использование его в Access тоже приводит к ошибке.

Можно было бы, конечно отдельным запросом получить набор данных,
и его результат подставлять в запрос update, но это было бы слишком
примитивно.

Как с Access бороться ?


 
Kostafey ©   (2007-05-07 17:09) [1]

Отдельно
( select count(*)  from InventarDar where InventarDar.InventarDar_Dar_id = 2)
и
update Dar
set Kol = 2
where Dar.Dar_id= 2

работают правильно.

Вместе

update Dar
set Kol =( select count(*)  from InventarDar where InventarDar.InventarDar_Dar_id = 2)
where Dar.Dar_id= 2

Выдает: "B oпepaции дoлжeн иcпoльзoвaтьcя oбнoвляeмый зaпpoc."
И в интернет ничего подходящего найти не могу...


 
Kostafey ©   (2007-05-08 09:29) [2]

пока сделал через 2 отдельных запроса


 
sniknik ©   (2007-05-08 10:54) [3]

> И в интернет ничего подходящего найти не могу...
совет. пользуйся вторым фарефоксом, у него есть проверка орфографии, и может тогда ты будеш писать без ошибок не вставляя нерусские буквы в русские слова... (не, мне то это пофигу, но гугль со мной не согласен...)


 
Kostafey ©   (2007-05-08 11:28) [4]

> совет. пользуйся вторым фарефоксом

Не поверите, им и пользуюсь.

Кстати, правда ничего толкового по SQL в Access не нашел.

Ладно. Чет-то у меня ошибка ошибка в 17-й строке, все равно весь модуль перелопачивать надо.
Эта уже основная проблема. Это вообше, наверное по-другому делать буду.

Все же спасибо, что заглянули.


 
Kostafey ©   (2007-05-08 11:29) [5]

> Эта уже основная проблема

НЕ основная проблема



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

Текущий архив: 2007.05.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
2-1178242703
porting
2007-05-04 05:38
2007.05.27
sendkey в неактивном окне как hotkey


3-1173433849
Крик
2007-03-09 12:50
2007.05.27
Interbase / выборка типа mysql_fetch_array()


2-1178620054
Neket
2007-05-08 14:27
2007.05.27
Закрепить область в Excel


11-1141729246
Ал
2006-03-07 14:00
2007.05.27
И снова antialiasing


15-1178013508
DillerXX
2007-05-01 13:58
2007.05.27
Тоска по VCL