|
>VBAで、いくつかのテーブルを組み合わせたものをSQL文で直接発行(作成)し、
>できあがったクエリの名前をABCDとする。
>
>SQL1 = "SELECT T_A.***, T_A.***, T_B.****, From ・・・・"
>
>↑ SQL1文で作成したものをクエリ名ABCDとして、
>
>さらに、VBAで、
>
>☆☆☆☆☆
>
>SQL2 = "SELECT ABCD.***, ABCD.***, T_B.****, From ・・・・"
>
>といった書き方をしたいものですが、☆☆☆☆☆ のところに何かプログラムを
>書くような気がするのですが、どのようにVBAで書けば良いでしょうか。
CreateQueryDefメソッドをお調べください。
ただ、
CreateQueryDef でクエリを作ってしまうと、その分サイズが増えます。
後で削除しても、MDBの仕様上サイズは減りません。サイズを気にするなら、
いい方法ではないですね。
別案として、SQL1 をサブクエリとして埋め込むという方法もあります。
SQL2 = "SELECT ABCD.***, ABCD.***, T_B.****, From (" & SQL1 & ") AS ABCD ・・・・"
これなら、サイズは増えないでしょう。しかし、、、、
>配布用mdbの中にはリンクしたテーブルのみにしたい(クエリを置くのはサイズが
>大きくなるので・・・)
クエリ自体は、中身は、SQL ですので、それほどサイズは増えませんよ。
コードにSQLを書ければその分サイズが増えますので、ほとんど差は
ないのでは。
|
|