So here is an idea to manually do this. Others might know of a better way. An automated process could probably be created but would be real involved and not as easy as you have it broken out into multiple databases. So using 2015 as example. In your January 2015 database(that contains 31 tables for each day of that month), create a new table called "tbl2015Jan" that has same fields/structure as your individual tables(add field called ID and make datatype Autonumber and a Text field called TableName). Run this code changing the table name to each days table for January. Also change those column names to whatever they are in your tables.
INSERT INTO tbl2015Jan ( ColumnA, ColumnB, ColumnC, TableName )
SELECT tblJan1.ColumnA, tblJan1.ColumnB, tblJan1.ColumnC, "tblJan1"
FROM tblJan1;
Then change the table name and add the Jan 2 table records to tbl2015Jan table.
INSERT INTO tbl2015Jan ( ColumnA, ColumnB, ColumnC, TableName )
SELECT tblJan2.ColumnA, tblJan2.ColumnB, tblJan2.ColumnC, "tblJan2"
FROM tblJan2;
Do this to all 31 tables. At the end you should have all the records for Jan 2015 in the tbl2015Jan table. Now do this same thing for every month of 2015.
An automated way would be something like:
For i = 1 to 31Docmd.RunSQL "INSERT INTO tbl2015Jan ( ColumnA, ColumnB, ColumnC, TableName )
SELECT tblJan(i).ColumnA, tblJan(i).ColumnB, tblJan(i).ColumnC, "tblJan(i)"
FROM tblJan(i)"
next i