Как мне индивидуально отсортировать запрос в подчиненной форме? - PullRequest
0 голосов
/ 31 августа 2018

У меня есть запрос с именем поля «Статус» с возможными записями «Просрочено», «Скоро», «Выполняется» и «Завершено». Я могу отображать записи в таком порядке при открытии запроса, используя IIF, но не могу перевести его в подчиненную форму, которая отображает запрос. Я хочу, чтобы запрос был отсортирован по Form_Open()

Private Sub Form_Open(Cancel As Integer)

Me.frm_Stability.Form.OrderBy = "Status ASC IIf([Status]='Overdue',1,IIf([Status]='Due Soon',2,IIf([Status]='In-Progress',3,IIf([Status]='Complete',4))))"
Me.frm_Stability.Form.OrderByOn = True

End Sub

Любая помощь будет оценена!

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Если я вас правильно понимаю, вы хотите, чтобы ваша подчиненная форма и ваша основная форма были отсортированы. Лучший способ - добавить таблицу в базу данных Access. Позволяет назвать эту таблицу StatusSortOrder . В этой таблице вы определяете свои значения, например:

'Tablename: StatusSortOrder

----------------------------
ID    Status       SortOrder
----------------------------
1     Overdue      1
2     Due Soon     2
3     In-Progress  3
4     Complete     4

Не используйте ID в качестве заказа. Если вам позже придется изменить порядок сортировки, вы можете легко изменить числа в столбце SortOrder, но вы не можете изменить идентификатор. Теперь объедините вашу таблицу с таблицей StatusSortOrder (Столбец соединения равен Status ). Назовите запрос, например qryOutput . В этом конструкторе запросов вы можете сортировать по столбцу SortOrder ASC или DSC. Если вы сейчас используете этот запрос в качестве источника данных в основной и вложенной форме, он будет отсортирован правильным образом.

0 голосов
/ 31 августа 2018

Я понял, что если бы я применил свой оператор IIF к Sort & Filter подчиненной формы, он был бы точно отражен в основной форме. Основной запрос, казалось, был на один градус слишком удален от основной формы.

...