ник: Дядя Федор
У меня работает такой код.
'форма ждите
DoCmd.OpenForm "FrmWaitPP"
DoEvents
'формирую таблицу запроса
Call repPlPrKVARTAL(MYGOD(), MYSNIMOK())
'данные по сортировкам и группировкам из формы frmPlanPrognosFiltrRepIzdeliaV_ALL
'start = 10 * 567 '10 sm это для масштаьирования
With Forms!frmPlanPrognosFiltrRepIzdelia V_ALL
isort = !grmeskv + !grrazbivka
ksb = !sb.Value / 100
Select Case isort
Case 11: vid = "MR"
Case 12: vid = "MV"
Case 13: vid = "MI"
Case 21: vid = "KR"
Case 22: vid = "KV"
Case 23: vid = "KI"
End Select
isort = !grpSort ' метод сортировки
End With
If Me.OpenArgs = "ГОД" Then '"поле год добавлено в группу, чтобы убирать/показывать группу
' год есть у всех записей, поэтому группировка по нему фактически убирает группировку.
Me.GroupLevel(0).ControlSource = "God"
Me.GroupLevel(0).SortOrder = True
'Me.OrderBy = "ItogoSum DESC" 'сортировка по убыванию
'Me.OrderByOn = True
Me.ЗаголовокГруппы0.Visible = False
Me.ЗаголовокГруппы0.Height = 0
argsort = " - без группировки" ' 'эта строка далее используется в колонтикуле
Else
Me.GroupLevel(0).ControlSource = "NaimSector"
Me.GroupLevel(0).SortOrder = False
isort = Forms!frmPlanPrognosFiltrRepIzdelia V_ALL!grpSort
Select Case isort
Case 2:
Me.OrderBy = "NaimPrice"
Case 1:
Me.OrderBy = "Cena"
Case 3:
Me.OrderBy = "ItogoSum"
End Select
If Not Forms!frmPlanPrognosFiltrRepIzdelia V_ALL!fdesc Then
Me.OrderBy = Me.OrderBy & " DESC"
End If
Me.OrderByOn = True
Me.ЗаголовокГруппы0.Visible = True
argsort = " - с группировкой по направлениям"
End If
...... и т.д.
frmPlanPrognosFiltrRepIzdeliaV_ALL - форма управления отчетом, всегда висит.