Here's what I think you should consider if you HAVE to have the Months along the top of your report:
First: IF you're only reporting for the Current Calendar year ONLY:
When you get to January and are starting a new year, you might start a New 'MasterTable'.
You can Name the MasterTable for each previous year like 'MasterTableyyyy'.
Then:
1. Use Append Queries to put all your data into one 'MasterTable'.
2. Each month - use an Append Query to add the new data to the 'MasterTable'.
3. Create a 'QryVendors' that pulls each Vendor name from your 'MasterTable':
Code:
Select Distinct Vendor From 'MasterTable'
4. Write queries to pull 'Vendor' & 'Quantity' for each month that you will want to report on:
For 'CurrentMonth':
Code:
Select Vendor, Quantity
From MasterTable
Where TransactionDate = Month(Date())
For 'PreviousMonth':
Code:
Select Vendor, Quantity
From MasterTable
Where TransactionDate = Month(DateAdd("m",-1,Date()))
etc . . .
If you want to go with queries for each month [Jan, Feb, Mar . . .] of the current year, you'll have to approach it differently.
Eg:
'QryJan':
Code:
Select Vendor, Quantity
From MasterTable
Where Year([TransactionDate]) = Year(Date())
And Format(([TransactionDate],"mm")=1
'QryFeb':
Code:
Select Vendor, Quantity
From MasterTable
Where Year([TransactionDate]) = Year(Date())
And Format(([TransactionDate],"mm")=2
etc . . .
When you're done, you will have a query for each of the 12 months of the current [Calendar?] year that you want to report on.
Now you can create a Query that Has 'QryVendors' and your 12 'Month' queries [QryJan, QryFeb, QryMar . . .] in it.
Make LEFT joins between the Vendor in the 'QryVendors' & the Vendor of all your month queries. This will mean that for every month across your query there will be a row for EVERY Vendor in your MasterTable - even if there is no data for a particular Vendor in one or more months.
Then - Drag your Vendor from the 'QryVendors' into a query field - and then drag the Quantity from each of your month queries into a field in your query.
If you get the results you need - you can base your report on this last query.