You could do this using a custom field sourced by a summary search
Create a saved search on the Customer record.
In the criteria maybe use a criteria of event is Not Completed
Then in your results add a column for your date of your event and set the summary type to Minimum
Then add the Internal ID as a filter. When you run the report it should only show 1 value
Then create a custom entities field
Type = Date
Store Value = False
Sourcing tab select your saved search in the saved search field
Your custom field will now display the next date
If you want to store the value so it can be used in reports you would need to create a workflow to copy it into a different field that is stored