Attention Query Gurus...Help needed with a db query

Here's my problem. I have a ton of records that I need to flip around
for a report procedure. I have to create an on-screen report to
display distinct information (e.g.:

Category (from a dbRadioGroup)
Date
Amount

That's the basic record layout. There is also a 'Link' field that is
updated for each new record in the 'On New' event to link these
receipts to one report (this is an expense report program for field
personnel...local database [paradox 5.0]) What I need to do for
reporting is make it look like this (our standard report layout):

Date            12/01   12/02   12/03   12/06   12/07   ...

Breakfast       14.37           8.85    7.61    11.02
Lunch                   14.44           33.19
Dinner          88.33           101.62  
Other           13.88                           21.75

On the company report, the catetories are in specific order (like
above) I have to chronologize the receipts and put them in this
pre-determined order. Question:
        Can I accomplish this with a query or do I need to write
additional data-handling code to manipulate this information (any
suggestions are appreciated...) I have the basic procedure with a
simple query that puts the receipts in chron order but I get a
standard record layout like this:

Breakfast       12/01   8.82
Dinner          12/01   88.33
Other           12/01   12.88
Lunch           12/02   14.44
etc...

I need to put all the same date items in ONE column and in their
catagorical order. ..basic cross-tabbing except, only ONE date per
column.

With some code, I run through each record in the query, check to see
if the date changes, put the info in the report table and move onto
the next record until EOF. This is time consuming...

Is there any way I can do this with one or two queries? While the
tables have up to 15,000 records, the number of records (receipt
entries) for a specific report (done monthly, I'll add) won't exceed
200 entries (if it does, I'll have to make two reports...) My dilema
is speeding things up. On a 166mhz this is pretty quick. On a 486
laptop, however, this is tooooooooooo sloooooooooooooow.

Any help is greatly appreciated! You can e-mail (preferred as I get
that automatically) or post it here. Either way it will be welcome!

Bill
-----------------------------------
arte...@ix.netcom.com