Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];
ВнизИспользование результата запроса 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c