![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в MS Access одним запросом модифицировать или добавить строку
Погроммист © (2016-03-21 00:17:00)
UpQuery := 'UPDATE BasesSettTab SET BaseName=' + QuotedStr(pNewBaseName) + ' WHERE BaseName = ' + QuotedStr(pBaseName);
InQuery := '(INSERT INTO BasesSettTab (BaseName,PathToBase,FileName)' + ' VALUES (' +
QuotedStr(pBaseName) + ' , ' + QuotedStr(pPathToBase)+ ' , ' + QuotedStr(pFileName) + '))';
temp := 'SELECT iif (SELECT Count(*) FROM BasesSettTab where BaseName = '
+ QuotedStr(pBaseName) + ') > 0,'+ UpQuery + ',' + InQuery + 'from BasesSettTab);';
первая проблема в том, что запрос начинающийся с iif аксес принимать отказывается, поэтому я приписал select но думаю что это неправильно...
Вторая проблема то что на первую он еще и не ругается, а ругается он на UpQuery говоря о том, что там пропущен какой то оператор...но по мне так там все на месте. Итого вопрос, можно ли одним запросом такое провернуть в аксесе и как?
эндсоувот (2016-03-21 08:53:00) [1]iif это не иф-зен-елс
это вилка на два значения, а не развилка выполнения
iif ( condition, value_if_true, value_if_false )
sniknik (2016-03-21 08:52:00) [2]access принципиально не поддерживает пакеты команд, только одиночные (даже в "процедурах"), и не функции (типа iif) вместо sql команды. и команды обедняющие 2 либо "спец" как в mysql либо megre как в mssql тоже нет.
делай выводы.