Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2011, 23:15   #1
shaman1
 
Регистрация: 07.02.2010
Сообщений: 6
По умолчанию Запрос с IIF

Суть вопроса такова Фирма продает автомобили 3-х фирм chevrolet,daewoo,kia покупатель получает скидку 5% если в течении 2-х дней оплачивает заказ, или скидку 3 % если оплачивает заказ в течении 5-ти дней
Нужно создать запрос: Для каждой марки машин определить стоимость с учетом скидок с указанием даты заказа и даты оплаты.
Создал огроменную формулу но она, как и следовало ожидать не работает.Посмотрите пожалуйства что я делаю не так .
И еще вопрос по ходу использую функцию DateDiff([interval];[Заказ]![Дата заказа];[Заказ]![Дата оплаты])
Как сделать так чтобы она автоматом возвращала кол-во дней а не спрашивала каждый раз что ей возвращать.
Изображения
Тип файла: jpg Запрос_скидки.jpg (43.6 Кб, 132 просмотров)
Вложения
Тип файла: rar Автосалон.rar (29.1 Кб, 14 просмотров)
shaman1 вне форума Ответить с цитированием
Старый 05.06.2011, 10:36   #2
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Чтобы DateDiff работал без глупых вопросов, надо на эти вопросы ответить заранее, а именно в качестве параметра Inteval задать "d"
Код:
Выражение1: IIf(DateDiff("d";[Заказ]![Дата заказа];[Заказ]![Дата оплаты])<=2;5;IIf(DateDiff("d";[Заказ]![Дата заказа];[Заказ]![Дата оплаты])<=5;3;0))
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 05.06.2011, 21:02   #3
shaman1
 
Регистрация: 07.02.2010
Сообщений: 6
По умолчанию Последний запрос в курсовой

Суть вопроса такова Фирма продает автомобили 3-х фирм chevrolet,daewoo,kia покупатель получает скидку 5% если в течении 2-х дней оплачивает заказ, или скидку 3 % если оплачивает заказ в течении 5-ти дней
Нужно создать запрос: Для каждой марки машин определить стоимость с учетом скидок с указанием даты заказа и даты оплаты.
В запросе получается вывести только скидку 5% или 2% подскажите как в одном запросе вывести сразу 2 скидки, последний запрос и курсач готов.
Изображения
Тип файла: jpg Скидки.jpg (74.0 Кб, 127 просмотров)
Вложения
Тип файла: rar Автосалон.rar (29.1 Кб, 12 просмотров)
shaman1 вне форума Ответить с цитированием
Старый 05.06.2011, 22:38   #4
shaman1
 
Регистрация: 07.02.2010
Сообщений: 6
По умолчанию

Написал что-то похожее но не работает
Код:
select [даты заказа], [даты оплаты], [даты оплаты]-[даты заказа] as delta
iif(delta<=2, 5, iif(delta<=5, 3, 0)) as percent,
[цена]*(1-percent/100) as [стоимость с учетом скидок] Заказ.[Марка автомобиля], Заказ.[Дата заказа], Заказ.[Дата оплаты]
FROM Заказ
GROUP BY Заказ.[Марка автомобиля], Заказ.[Дата заказа], Заказ.[Дата оплаты];:(
shaman1 вне форума Ответить с цитированием
Старый 06.06.2011, 09:35   #5
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Так подойдет?
Код:
SELECT Заказ.[Марка автомобиля], IIf(DateDiff("d",[Заказ]![Дата заказа],[Заказ]![Дата оплаты])<=2,0.05,IIf(DateDiff("d",[Заказ]![Дата заказа],[Заказ]![Дата оплаты])<=5,0.02,0)) AS Скидка, Sum([Заказ]![Стоимость]*(1-[Скидка])) AS Выражение1
FROM Заказ
GROUP BY Заказ.[Марка автомобиля], IIf(DateDiff("d",[Заказ]![Дата заказа],[Заказ]![Дата оплаты])<=2,0.05,IIf(DateDiff("d",[Заказ]![Дата заказа],[Заказ]![Дата оплаты])<=5,0.02,0));
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с функцией IIF Обсидиан Microsoft Office Access 3 13.10.2010 08:59
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Не хочет работать iif alco84 Microsoft Office Access 6 18.03.2010 09:48
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50