-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Сортировка в запросе

Среда, 24 Мая 2017 г. 14:32 + в цитатник
Добрый день, уважаемые знатоки.
Прошу помощи по поводу установки сортировки в запросе.

вариант 1: Динамическое пересоздание запроса( источника данных)

rivate Sub Report_Load()

Dim db As DAO.Database
Dim ds As DAO.Recordset
Set db = CurrentDb
Dim rsQuery As DAO.QueryDef

Dim strSQL As String

strSQL = " SELECT Отказы.Время, Отказы.ID, Отказы.[Наименование отказавшего оборудования], Отказы.[Описание отказа ], Отказы.СЗМН, НПС.НПС, Отказы.[Дата ], Отделы.NameOtdel" _
& " FROM (НПС INNER JOIN Отказы ON НПС.ID = Отказы.ID) INNER JOIN Отделы ON Отказы.IDOtdel = Отделы.IDOtdel"

If Forms![УсловияПечати].Группа10 = 1 Then
    strSQL = strSQL + " order by [Дата]"
ElseIf Forms![УсловияПечати].Группа10 = 2 Then
     strSQL = strSQL + " order by [НПС]"
End If
   
For Each rsQuery In CurrentDb.QueryDefs
        If rsQuery.Name = "Запрос_" Then
              CurrentDb.QueryDefs.Delete "Запрос_"
           Exit For
        End If
    Next


Set rsQuery = CurrentDb.CreateQueryDef("Запрос_", strSQL)

Me.Requery
'Me.Filter = "Отказы.[Дата ]>=#" & Format(Forms![УсловияПечати].Dat1_, "mm\/dd\/yy") & "# And Отказы.[Дата ]<=#" & Format(Forms![УсловияПечати].Dat2_, "mm\/dd\/yy") & "#"
'Me.FilterOn = True

End Sub


Вариант 2: Использование запроса через свойства отчета. Установка фильтра и попытка сортировки результата по полю


Private Sub Report_Load()


Me.Filter = "Отказы.[Дата ]>=#" & Format(Forms![УсловияПечати].Dat1_, "mm\/dd\/yy") & "# And Отказы.[Дата ]<=#" & Format(Forms![УсловияПечати].Dat2_, "mm\/dd\/yy") & "#"
Me.FilterOn = True

Me.OrderByOn = False
If Forms![УсловияПечати].Группа10 = 1 Then
    Me.OrderBy = "Отказы.[Дата ] DESC"
ElseIf Forms![УсловияПечати].Группа10 = 2 Then
    Me.OrderBy = "НПС.НПС DESC"
End If
 Me.OrderByOn = True
Debug.Print Me.OrderBy;
 Me.Requery

End Sub


Оба результата сортировку не делают.
в варианте 1 после отработки загрузки отчета в свойствах прописывается и полу сортировки и условия фильтрации( фильтрация работает)

во варианте 2 после отработки загрузки отчета "Запрос_" меняется на селект с выбраным условием отбора.
Но результат обоих вариантов - это выгрузка отчета без сортировки.
Прошу помощи знатоки, разьясните как организовать сортировку в отчете

http://www.sql.ru/forum/1261052/sortirovka-v-zaprose


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку