I don't believe you can make Access automatically enable the subdatasheet (+) feature for ODBC linked tables.
The way it works with native Access tables is that the SubdatasheetName property defaults to [Auto]. And with [Auto], Access will look at the defined relationships and select a related table as the subdatasheet.
With SQL Server linked tables, Access doesn't examine the relationships defined in SQL Server and pick a table to use as the subdatasheet. You could define the relationships between SQL Server linked tables again in Access (though it doesn't offer to enforce referential integrity), but it still won't apply a subdatasheet. And you could manually set the SubdatasheetName, LinkMasterFields, and LinkChildFields properties from Design View of your linked table, but that lasts only until you close the table.
The only way I know to get anything close to what you want is by using VBA to alter the TableDef
. In this example, both Products and Categories are ODBC links to SQL Server tables.
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
Finally, subdatasheets can be useful, but they bring other challenges. See the SubdatasheetName section from Problem properties.