If you are getting extra columns you aren't expecting, it means the values you are using for COLUMN HEADERS are more varied than you realize.
For instance if you had a table like this:
Code:
tblTestTable
ID Batch Quantity
1 Test1 5
2 Test1 10
3 Test 1 15
4 Test 2 4
you would end up with 3 columns if your BATCH was your column header (Test1, Test 1 and Test 2). Look at the source data in the field you are using for your COLUMN HEADERS (run an aggregate query on that field) and you should match up with the columns being displayed in your crosstab query.