There is no direct method to list an Access table's columns using SQL syntax. You could load the schema into a temp table, and then use INFORMATION_SCHEMA.columns to query the schema of the temp table. This method is probably not foolproof, but can get you close to what you need.
select top 0 * into #temp_WHAT from openquery(MyAccessLinkedDB,'select * from theAccessTable')
select * from tempdb.INFORMATION_SCHEMA.columns where table_name like '%temp_WHAT%'
DROP TABLE #temp_WHAT
HTH,
Phil H.
-----------
A virtual machine ate my accounting data. I transferred it to a physical box, then I beat it to smithereens with a sledgehammer. I feel better.