I\'m working on an equipment management system using a MS Access .mdb file for the front end, and SQL Server 2008 for the back end. If needed I can convert the front end to
A question related to calendars was asked not long ago: Creating a 'calendar matrix' in Access
That said, you're probably never going to achieve good performance with 43 subforms bound to non-trivial queries.
You're not saying if your data is on a backend server, in which case each subform has to fetch data across the network.
If that's the case, you may be better off doing one query to the server to pull all the data and cache it in the front end. You would then only have to do simple filtering on a local table, which should be be faster, although the 42 subforms are probably going to be a big bottleneck to performance.
A simple INSERT INTO query could get you started, provided you have created a local table called myCacheTable based on the returned data from your normal query.
The first thing you should probably try, it to use the venerable listbox.
It is fairly lightweight and there are many ways to configure them.
If you combine that with caching data from the server as I mentioned above, you could get better performance.

As HelloW mentioned, it may be a good idea to simply use textboxes set to TextFormat = RichText and supply them with simple HTML (it doesn't support much) to format the data inside:

Maybe a bit more complex to setup, but difficult to beat in terms of UI, could be to use an existing Javascript library like FullCalendar, or inject your own html directly into the browser document (you could use simple Here is an example of what a sample online calendar looks like inside a to format the calendar).
WebBrowser control in an Access form: