Originally Posted by
Dal Jeanis
Step 1 - Assuming you have 600 records, Use VBA to build a temporary table that consists of 200 records each with three foreign keys. Your choice whether to run them left-right or up-down. Let's call it tblThreeTempKey, and the three keys are FK1, FK2 and FK3. Leave extras NULL on the last record if needed.
Step 2 - Let's assume your main table is tblStuff and its primary key is PK. Here's your query join (more or less)
SELECT S1.*, S2.*, S3.*
FROM (((tblThreeTempKey AS T3
LEFT JOIN tblStuff AS S1 ON T3.FK1 = S1.PK)
LEFT JOIN tblStuff AS S2 ON T3.FK2 = S2.PK)
LEFT JOIN tblStuff AS S3 ON T3.FK3 = S3.PK)
Now each single record returned by the query combines up to three different records from tblStuff, and you can make your 3-wide form based on the query.
Not sure whether the query result will be updateable, though. It joins the same table three times, which tends to prevent updating, but each record in tblstuff will only appear once, so it might work.
As Rod said, "with a lot - stress lot - of fiddly work!"
Linq ;0)>
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007