Есть отчет.
В отчете стоит флажок.
Смысл в том, чтобы при включении/выключении флажка в отчет добавлялись/удалялись соответсвующие записи.
Свойство флажка "тройное состояние" установлено "нет".
Тем не менее при загрузке отчета состояние флажка null. Но с этим понятно как бороться.
При этом при изменении источника записей отчета (для реализации вышеуказанного функционала) флажок сбрасывается на null.
Подпрограмма выглядит так:
Private Sub Ôëàæîê_ÀÈÏ_Click()
Dim str, strAIP As String
i1 = Ôëàæîê_ÀÈÏ.Value
If Ôëàæîê_ÀÈÏ.Value = True Then
strAIP = "((Ëèìèòû.Èñòî÷íèê) = 1)"
Else
strAIP = "((Ëèìèòû.Èñòî÷íèê) is Null)"
End If
str = "SELECT Îáúåêòû.Îòðàñëü, Ïðîöåäóðû.Êîä_ïðîö, Ïðîöåäóðû.Ïðåäìåò, Ïðîöåäóðû.[Òèï êîíòðàêòà], Ïðîöåäóðû.Ñïîñîá, Ïðîöåäóðû.ÍÌÖÊ, Ïðîöåäóðû.Ëèìèò, Ïðîöåäóðû.[Ñðîê îêîí÷àíèÿ], Ïðîöåäóðû.Ïóáë, Ïðîöåäóðû.Îêîí÷_çàÿâ, Ïðîöåäóðû.Äàòà_ïðîö, Ïðîöåäóðû.Ññûëêà, Äîêóìåíòàöèè.Ñòàòóñ, Ñòàòóñ.Êîä_ñòàò, Îòðàñëè.Êîä_îòðàñëè, Ëèìèòû.Èñòî÷íèê, Ëèìèòû.Ðàñøèôðîâêà, Äîêóìåíòàöèè.Äàòà_ïåð" _
& " FROM (Ñòàòóñ INNER JOIN (Äîêóìåíòàöèè INNER JOIN Ïðîöåäóðû ON Äîêóìåíòàöèè.Ïðîöåäóðà = Ïðîöåäóðû.Êîä_ïðîö) ON Ñòàòóñ.Ñòàòóñ = Äîêóìåíòàöèè.Ñòàòóñ) INNER JOIN (Îòðàñëè INNER JOIN ((Îáúåêòû INNER JOIN Ïðîö_Îáúåêòû ON Îáúåêòû.Êîä_îáúåêòà = Ïðîö_Îáúåêòû.Êîä_Îáúåêòà_Ñâçÿü) INNER JOIN Ëèìèòû ON Îáúåêòû.Êîä_îáúåêòà = Ëèìèòû.Îáúåêò) ON Îòðàñëè.Îòðàñëü = Îáúåêòû.Îòðàñëü) ON Ïðîöåäóðû.Êîä_ïðîö = Ïðîö_Îáúåêòû.Êîä_Ïðîö_Ñâÿçü" _
& " GROUP BY Îáúåêòû.Îòðàñëü, Ïðîöåäóðû.Êîä_ïðîö, Ïðîöåäóðû.Ïðåäìåò, Ïðîöåäóðû.[Òèï êîíòðàêòà], Ïðîöåäóðû.Ñïîñîá, Ïðîöåäóðû.ÍÌÖÊ, Ïðîöåäóðû.Ëèìèò, Ïðîöåäóðû.[Ñðîê îêîí÷àíèÿ], Ïðîöåäóðû.Ïóáë, Ïðîöåäóðû.Îêîí÷_çàÿâ, Ïðîöåäóðû.Äàòà_ïðîö, Ïðîöåäóðû.Ññûëêà, Äîêóìåíòàöèè.Ñòàòóñ, Ñòàòóñ.Êîä_ñòàò, Îòðàñëè.Êîä_îòðàñëè, Ëèìèòû.Èñòî÷íèê, Ëèìèòû.Ðàñøèôðîâêà, Äîêóìåíòàöèè.Äàòà_ïåð" _
& " HAVING (" & strAIP & " AND ((Ëèìèòû.Ðàñøèôðîâêà) Is Null));"
Report_Ïëàí_ïðîö.RecordSource = str
End Sub
(Прошу прощения за иероглифы, не могу с этим ничего сделать :( )
Помогите, пожалуйста, как исправить ситуацию? Есть ли обходные пути?