|
>フォームのレコードソースはテーブル、クエリ、SQL文となっていますが
そのとおりです。テーブル名、クエリ名、SQL文 を文字列として設定できます。
ヘルプにもそのように記述されてますね。
>例えば一般的な売上伝票の様な表題部とその明細SubFormを設定した場合に
>SubFormに表示するデータを
> SQL = "SELECT 明細.* from 明細 where 明細.NO = '" & CHK & "'"
> WRK.Open SQL, CON, adOpenStatic, adLockPessimistic
>
> Me.TestSub.Form.RecordSource = SQL で明細表示する
> Me.TestSub.Form.ReccodSource = "WRK" で明細表示しない
>となります、原因は?
レコードソースに、"WRK"を設定しても、そのような名前のテーブルまたはクエリがなければ何も表示されません。
レコードセット変数を文字列として設定できるとはどこにも書いてありません。
レコードセットをフォームのソースとする場合は、Recordsetプロパティを使ってください。
Form.Recordset プロパティ (Access)
ht tps://msdn.microsoft.com/ja-jp/vba/access-vba/articles/form-recordset-property-access?f=255&MSPPError=-2147217396
ただ、フォームのフィルター、並べ替えが使えないなど制限がありますので、特殊な事情がない限りメリットはありません。
|
|