MS Access でパススルー クエリを正常にセットアップしました。これは、DAO.QueryDef ".SQL" プロパティを介してオンザフライで SQL を設定できるという意味で一般的です。
問題は、「.ReturnsRecords」プロパティをオンザフライで設定できないように見えることです。クエリのプロパティ シートにあるものは何でもそこに詰まっているようです。
例が役立つ場合があります。
Dim qdef As DAO.QueryDef
Set qdef = CurrentDb.QueryDefs(gPassThru)
qdef.ReturnsRecords = False ' or True
qdef.SQL = "exec dbo.sp_whatever"
繰り返しますが、
qdef.SQL は、パススルー クエリに含まれていた SQL をすべて置き換えます。
qdef.ReturnsRecords は、パススルーのプロパティ シート定義を置き換えません。
クエリを完全に汎用的にする方法はありますか? または、レコードが返されるかどうかに基づいて別のクエリを作成する必要がありますか?