既にhirotonさんの回答で解決できると思いますが、
VBAで生成したSQL文の確認方法をアドバイスしておきます。
下記のようにデバッグ用コードを挿入します。
StrSQL = _
"SELECT TOP 1 基4, 変位4, №" & _
"FROM T_01_地耐力" & _
"WHERE (T_01_地耐力.№ Between 1 And 9)" & _
"ORDER BY T_01_地耐力.変位4 DESC , T_01_地耐力.№ DESC"
Debug.Print StrSQL 'デバッグ用コード
これを実行するとイミディエイトウィンドウに、StrSQLに格納されている文字列が出力されますので、
それをコピーしてクエリのSQLビューに貼り付けます。
そしてこのクエリを開くことができれば、正しいSQL文が生成できているということです。
上記の場合だと、開くことができないはずです。
SQL文をよく見れば、区切りが適切にできていないのが分かります。
hirotonさんの回答のコードなら問題なく実行できるでしょう。
動作確認後はデバッグ用コードは不要なので削除しておいてください。
通報 ...