|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.07.2012, 21:13 | #1 |
Регистрация: 05.07.2012
Сообщений: 5
|
Запрос.
Добрый день. Помогите пожалуйста написать запрос. На обновление одной колонки. Обновить ее нужно следующим образом. Сначала отделить два последних знака. Потом всю колонку умножить на 1,18. Потом нужно обновлять колонку если число меньше 1 то на один множитель если меньше 2 то на другой если меньше 3 то на другой. И таких условий около 10. Помогите пожалуйста IT-ник в отпуске, а прайс надо делать срочно.
|
05.07.2012, 23:36 | #2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте Gallardo161.
Даже самое замечательное описание проблемы не поможет Вам решить задачу. нужен образец и точные условия, "..меньше 2 то на другой.." не подойдет. Евгений. |
07.07.2012, 04:36 | #3 |
Форумчанин
Регистрация: 20.05.2012
Сообщений: 311
|
Речь идёт не о вычислении "Контрольного числа"?
|
09.07.2012, 14:28 | #4 |
Регистрация: 05.07.2012
Сообщений: 5
|
Добрый день. Дело обстоит так. Это прайс лист. Приходит в виде MDB файла. В нем есть колонка с ценой. Цена не разделена запятой. То есть 23566. Где два последних знака это копейки. Поле того как разделили все запятой. Нужно все умножить на НДС. Томом в зависимости от цены на наценку. Правила Выглядят так.
Цена больше чем (лок. вал.) Множитель 0 ( 3) 30,69 (2,3) 309,69 (1,75) 1549,69 ( 1,6) 3099,69 (1,45) 6199,69 (1,4) 15499,69 (1,3) 21699,69 (1,1) 30999,69 ( 1) Имя столбца NEW Имя Таблицы TEILE_EXPORT Ecxel не предлагать строк 700 тыс. |
09.07.2012, 15:20 | #5 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
Вы случайно не это имеете ввиду?
Код:
|
10.07.2012, 08:56 | #6 |
Регистрация: 05.07.2012
Сообщений: 5
|
Добрый день. gluk_fm Огромное спасибо. Вы мне очень помогли. Только стыдно признается. Куда это вводить? В режиме SQL или Макроса? И нужна ли команда Update да обновление ячейки в существующей таблице. Как будет выглядеть конечная строка в таком случае? И Я так понимаю что 1,2 стоит заменить на 1,18?
|
10.07.2012, 19:11 | #7 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте Gallardo161.
Огорчу Вас, но предложенная gluk_fm конструкция верна только структурно, но из-за синтаксических ошибок не может быть работоспособна в принципе. Вашу задачу, без IT-ника который в отпуске, проще (и думаю правильнее) решать с применением пользовательской функции. Для этого: 1. в БД (базе данных) создайте модуль VBA 2. сохраните его (имя может быть любым) 3. поместите в модуль следующий код: Код:
5. откажитесь от добавления таблиц - закройте окно. 6. правым кликом переключите конструктор в SQL режим 7. поместите в поле открывшегося SQL редактора следующую строку: Код:
преобразовать называется NEW, если это не так - замените в SQL конструкции эти имена реальными. Надеюсь у Вас всё получится. Евгений. |
11.07.2012, 11:53 | #8 |
Регистрация: 05.07.2012
Сообщений: 5
|
Teslenko_EA добрый день. Сделал все как вы сказали. Не получается проверил правильность написания имен таблицы и столбцов. Ответ При попытке запустить запрос Ошибка в синтаксисе оператора в выражении запроса CCur(showPrice([NEW])))
|
11.07.2012, 11:56 | #9 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
|
||
12.07.2012, 10:50 | #10 |
Регистрация: 05.07.2012
Сообщений: 5
|
Сергей добрый день. Проверенно мной не однократно копирую из буфера обмена. Менял на цифры вместо названий. Ошибка с в синтаксисе оператора.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос на выборку и отчет на этот запрос | Camelot_2012 | Microsoft Office Access | 2 | 21.12.2011 16:48 |
Запрос | DrozdNik | Microsoft Office Excel | 2 | 15.02.2011 08:55 |
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) | Машуля | SQL, базы данных | 4 | 06.05.2010 21:09 |
запрос ссылается на несвязанный с ним запрос | kolebatel | SQL, базы данных | 0 | 11.06.2008 12:50 |