I would use excel to load up a table with all the dates for the next 10 years. Set the Key field to be the date field.
Make a relationship to the appointments table based on the [Appointment date].
Summarize Minimum Appointment Time and call it [First Appointment Time].
Lookup [First Appointment Time] down to Appointments.
Since there may be more than one appoint at the same time we know need to loop again to identify just one of the [Record ID#]'s
New Summary of minimum record ID# subject to the filter that [Appointment timer] is equal to [First Appointment Time].
Call that [Record ID# of first appointment]
Lookup down to Appointments.
Finally, make your report subject to a filter that [Record ID#] = [Record ID# of first appointment]