Я использую Access 2010 для создания нескольких отчетов и не могу понять, как скрыть заголовок группы, если он пуст.
Представьте, что у меня есть такая таблица (нет. Я ничего не знаю об автомобилях, это всего лишь пример):
H1 | H2 | H3 | H4 | DATA1 | DATA2 | DATA3
car | chassis | engine | pistons | data_a1 | data_a2 | data_a3
car | chassis | engine | pistons | data_b1 | data_b2 | data_b3
car | chassis | engine | pistons | data_c1 | data_c2 | data_c3
car | chassis | engine | cylinder | data_a1 | data_a2 | data_a3
car | chassis | engine | cylinder | data_b1 | data_b2 | data_b3
car | interior | | seats | data_a1 | data_a2 | data_a3
car | interior | | seats | data_b1 | data_b2 | data_b3
У меня есть 3 заголовка группы столбцов H1, H2 и H3 в этом порядке. У меня проблема в том, что когда H3 не содержит текста (т.е. "" (я думаю, что access оценивает его как нулевой)) я хочу скрыть заголовок группы для H3 или, по крайней мере, сделать так, чтобы он не занимал место в отчете. В настоящее время, где H3 пусто, отчет все еще содержит пустую строку.
Я пробовал это и подобное в событиях рисования и / или печати GroupHeader3
If IsNull([H3]) Then
Me.GroupHeader3.Height = 0
Me.GroupHeader3.BackColor = vbRed
Me.GroupHeader3.Visible = False
Else
Me.GroupHeader3.Height = 5
Me.GroupHeader3.BackColor = vbGreen
End If
Идея, похоже, работает, то есть, если я закомментирую строку Visible = False, я получу красный или зеленый фон в нужных местах, однако он полностью игнорирует параметр высоты.
Если я добавляю Visible = False, он жалуется, что его нельзя добавить в событие on Paint.
Я также пытался вставить подобный код в событие рисования GroupHeader2, но безрезультатно. Ближайший, который у меня есть, просто сидит и мерцает.
Я немного новичок в vba, так что, может быть, я упускаю что-то очевидное, но на данный момент я не совсем уверен, как поступить, поэтому любая помощь будет высоко ценится.
EDIT
Для наглядности:
Отчет составлен примерно так:
H1
H2
H3
H4
DATA1 DATA2 DATA3
Таким образом, в приведенных выше примерах данные будут выглядеть так:
car
chassis
engine
pistons
data_a1 data_a2 data_a3
data_b1 data_b2 data_b3
data_c1 data_c2 data_c3
cylinder
data_a1 data_a2 data_a3
data_b1 data_b2 data_b3
interior
seats
data_a1 data_a2 data_a3
data_b1 data_b2 data_b3
Это пустая строка (заголовок группы 3) между салоном и сиденьями, которых я хочу избежать.
Спасибо