Thanks for your help guys but I've solved the problem (and another that had bothered me for weeks but I put up with it)
The problem was the way that I opened the tabledef in
VB (I used the OpenRecordset syntax so ...)
Set tdfTo = dbsTo.CreateTableDef(cmbJobName, dbOpenTable)
is equivalent to
Set tdfTo = dbsTo.CreateTableDef(cmbJobName, 1)
and you get the symptoms described above.
Set tdfTo = dbsTo.CreateTableDef(cmbJobName, dbOpenDynaset)
is equivalent to
Set tdfTo = dbsTo.CreateTableDef(cmbJobName, 2)
and the table is visible but is a system table
Finally
Set tdfTo = dbsTo.CreateTableDef(cmbJobName)
Creates the table and can be manipulated perfectly in Access. Problem solved!
Would life be easier without M$ Access?