Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1177653950
Odinus
2007-04-27 10:05
2007.05.27
Dreamweaver


2-1178554030
Первакласник Вася
2007-05-07 20:07
2007.05.27
Таймер


2-1178450998
Lobach
2007-05-06 15:29
2007.05.27
Как узнать строку в list box


8-1158306298
megasecure
2006-09-15 11:44
2007.05.27
Графика в Delphi


2-1178456889
MickiMouse
2007-05-06 17:08
2007.05.27
Мышь вне зоны обслуживания





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