Below are two examples of how to display a schedule in blocks. The first example displays the show times vertically, the second horizontally. The data for this schedule was taken from a TV listing for a Wednesday night in January, 2000. I deleted two shows (my apologies to Norm and Friends) so that empty blocks could be displayed.

This code would also work for calendars, class schedules or anything else that is scheduled by time.

TotalTimeBlocks[#TotalTimeBlocks#] SELECT ShowType, ShowTypeColor FROM ShowType WHERE repertoire_no=#attributes.repertoire_no# ORDER BY ShowType SELECT N.producteurid, N.producteur_nom, COUNT(S.ShowID) AS NumShows FROM producteur N INNER JOIN horaire S ON N.producteurid=S.producteurid WHERE S.date_debut=#CreateODBCDate(DisplayStartDateBegin)# AND S.heure_debut >= #CreateODBCTime(DisplayStartTimeBegin)# AND S.heure_debut <= #CreateODBCTime(DisplayStartTimeEnd)# AND N.Repertoire_No=#attributes.Repertoire_No# GROUP BY N.producteurid, N.producteur_nom ORDER BY producteur_nom SELECT N.producteurid, S.ShowID, S.titre, S.heure_debut, S.heure_fin, ST.ShowType, ST.ShowTypeColor FROM producteur N, horaire S, ShowType ST WHERE N.producteurid=S.producteurid AND S.repertoire_no=#attributes.repertoire_no# AND S.ShowTypeID=ST.ShowTypeID ORDER BY N.producteur_nom, S.heure_debut Vertical Times

  #producteur_nom#
#TimeFormat(GridTime, 'h:mm')# ?#titre#
(#TimeFormat(heure_fin, "h:mm tt")#)
??DateCompare#CreateODBCTime(GridTime)#-#CreateODBCTime(heure_debut)#  ??? 
     #ShowType#

#RepeatString("", EmptyBlocks)#
  #TimeFormat(GridTime, 'h:mm tt')#
#producteur_nom#  #titre# (#TimeFormat(heure_fin, "h:mm tt")#)  
     #ShowType#

--->