Turkbear's solution is correct if you want a group for records will null values. If you want particular groups to appear even if there are no records for that group, it is a different problem.
The best solution is to create a table for each category, and then link it using a left-outer to link to the details. This depends on you being allowed to create a new table, or can easily get one created to your specifications.
Another solution is to include a wider range of date in your data, one that will include something for every vendor. Then suppress printing for those outside of the date range, showing just the group header or footer. This is an inefficient use of machine-time, but might be the simplest solution from your point of view.
A third way is to create running totals for all possible group IDs. Show them in the report footer when the total is zero. Suppose that records may be for apples, oranges, pears, bananas or guavas. You can group by type of fruit, but that does not show cases where there are no oranges. So you do a set of running totals (which are an option under the [Field Object] on the [Insert] menu). Each of them does a count of something, maybe account number. But each uses the formula option on the [Evaluate] section, and counts just for the one fruit.
You could also put each running total in a different section of the report footer. Suppress that section when the total is greater than zero, so only omitted groups are mentioned. It must be the report footer, because running totals are accumulated during the course of the run.
![[yinyang] [yinyang] [yinyang]](/data/assets/smilies/yinyang.gif)
Madawc Williams (East Anglia, UK). Using Crystal 10 & 11.5 with Windows XP
![[yinyang] [yinyang] [yinyang]](/data/assets/smilies/yinyang.gif)