the only way i can think of doing this is to have a seperate table that that holds the table name and the primary key in the table
the do somethink like
Dim destTable As DAO.Recordset, sourceTable As DAO.Recordset, selectionTable As DAO.Recordset
Set selectionTable = CurrentDb.OpenRecordset("<Table of Fields to be inclued>")
Set destTable = CurrentDb.OpenRecordset("<name of destination>")
While Not selectionTable.EOF
Set sourceTable = CurrentDb.OpenRecordset(selectionTable.Fields("TableName"))
sourceTable.FindFirst "<PrimaryKey> = " & selectionTable.Fields("Key")
For i = 1 To <numberOfFields>
destTable(i) = sourceTable(i)
Definition of a Beginner, Someone who doesn't know the rules.
Definition of an Expert, Someone who knows when to ignore the rules.