AccessでODBCリンクテーブルのサブデータシート(+)機能を自動的に有効にできるとは思いません。
ネイティブAccessテーブルで機能する方法は、SubdatasheetNameプロパティのデフォルトが[Auto]であるということです。[自動]を使用すると、Accessは定義された関係を確認し、サブデータシートとして関連するテーブルを選択します。
SQL Serverにリンクされたテーブルでは、AccessはSQL Serverで定義された関係を調べず、サブデータシートとして使用するテーブルを選択しません。AccessでSQLServerリンクテーブル間の関係を再度定義することはできますが(参照整合性を強制することはできません)、それでもサブデータシートは適用されません。また、リンクされたテーブルのデザインビューからSubdatasheetName、LinkMasterFields、およびLinkChildFieldsプロパティを手動で設定できますが、それはテーブルを閉じるまで続きます。
あなたが望むものに何かを近づけるために私が知っている唯一の方法は、VBAを使用してを変更することTableDef
です。この例では、ProductsとCategoriesの両方がSQLServerテーブルへのODBCリンクです。
Dim db As DAO.database
Dim tdf As DAO.TableDef
Dim prp As DAO.Property
Set db = CurrentDb
Set tdf = db.TableDefs("Products")
Set prp = tdf.CreateProperty("SubdatasheetName", dbText, "Categories")
tdf.Properties.Append prp
Set prp = tdf.CreateProperty("LinkMasterFields", dbText, "RefID")
tdf.Properties.Append prp
Set prp = tdf.CreateProperty("LinkChildFields", dbText, "CategoryID")
tdf.Properties.Append prp
Set prp = Nothing
Set tdf = Nothing
Set db = Nothing
最後に、サブデータシートは便利ですが、他の課題ももたらします。問題のプロパティのSubdatasheetNameセクションを参照してください。