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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2014, 09:44   #1
forza020
 
Регистрация: 13.04.2014
Сообщений: 5
По умолчанию Динамический ORDER BY

Добрый день. Делаю поиск в таблице. Для установления параметров поиска использую форму. Все работает идеально до момента, когда надо сделать динамическую сортировку. .т.е. пользователь из списка выбирает поле в форме, и по этому полю надо производить сортировку.
Можете подсказать как это реализовать? У меня есть 1 набросок но, он выкидывает исключение т.к. слишком большая вложенность.
Обратите внимание только на ORDER BY


Код:
SELECT Permit.PermitID, Permit.PermitPrice, Permit.PayoutType, Permit.PaidFrom, Permit.PaidTo, Permit.IsPaid, Permit.Notes, Permit.PeopleCount, Permit.VoyageID, Permit.EmployeeID, Permit.TouristID, Permit.ServiceID, Permit.DiscountID, Permit.HotelID
FROM Permit
WHERE (((Permit.PermitPrice) Between Forms!Search_Form_Permit!PriceStart And Forms!Search_Form_Permit!PriceFinish) And ((Permit.PayoutType) Like "*" & Forms!Search_Form_Permit!PayoutType & "*") And ((Permit.PaidFrom)>=Forms!Search_Form_Permit!PaidFrom) And ((Permit.PaidTo)<=Forms!Search_Form_Permit!PaidTo) And ((Permit.IsPaid) Like Forms!Search_Form_Permit!IsPaid & "*"))

ORDER BY 
IIf(Forms!Search_Form_Permit!OrderBy="PermitPrice",Permit.PermitPrice,
IIf(Forms!Search_Form_Permit!OrderBy="IsPaid",Permit.IsPaid,
IIf(Forms!Search_Form_Permit!OrderBy="PaidFrom",Permit.PaidFrom,
IIf(Forms!Search_Form_Permit!OrderBy="PaidTo",Permit.PaidTo,
IIf(Forms!Search_Form_Permit!OrderBy="PayoutType",Permit.PayoutType, Permit.PermitID
)))));
forza020 вне форума Ответить с цитированием
Старый 24.04.2014, 10:15   #2
AndVGri
Форумчанин
 
Регистрация: 10.02.2012
Сообщений: 109
По умолчанию

Добрый день
Попробуйте со Switch
Код:
Switch(Forms!Search_Form_Permit!OrderBy = "PermitPrice", Permit.PermitPrice, Forms!Search_Form_Permit!OrderBy = "IsPaid", Permit.IsPaid, Forms!Search_Form_Permit!OrderBy = "PaidFrom", Permit.PaidFrom)
AndVGri вне форума Ответить с цитированием
Старый 24.04.2014, 13:26   #3
forza020
 
Регистрация: 13.04.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от AndVGri Посмотреть сообщение
Добрый день
Попробуйте со Switch
Код:
Switch(Forms!Search_Form_Permit!OrderBy = "PermitPrice", Permit.PermitPrice, Forms!Search_Form_Permit!OrderBy = "IsPaid", Permit.IsPaid, Forms!Search_Form_Permit!OrderBy = "PaidFrom", Permit.PaidFrom)
Спасибо за помощь. Вечером как домой приду с работы обязательно попробую
forza020 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++11 Memory order 220Volt Общие вопросы C/C++ 6 14.08.2014 21:47
order by like more LevonNikox PHP 3 03.06.2011 19:41
mysql order by and order by LevonNikox PHP 2 03.06.2011 14:01
ORDER BY динамический Pang SQL, базы данных 2 16.05.2010 23:51
ORDER BY Sidorow2001 Microsoft Office Access 1 17.02.2010 17:19