You can use a pass-through query to list the table names from your SQL Server database. Open a recordset based on that query. Then loop through the recordset rows and link each table.
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim rs As DAO.Recordset
Dim strConnect As String
Dim strSelect As String
strSelect = "SELECT t.name FROM sys.tables t;"
'strConnect = <you already have this as stConnect>
Set db = CurrentDb
Set qdf = db.CreateQueryDef("", strSelect)
qdf.Connect = strConnect
Set rs = qdf.OpenRecordset
With rs
Do While Not .EOF
' you want to link; I will just list
' the table names
Debug.Print !name
.MoveNext
Loop
.Close
End With
Set rs = Nothing
Set qdf = Nothing
Set db = Nothing