質問: access クエリの抽出条件 毎度お世話になります。 クエリをレコードソースとするフォームから、コマンドボタンでアクションクエリを実行するときの抽出条件の書き方を教えて頂けないでしょうか? 二つのテーブル(別のaccessファイルからリンク)を基にパラメータクエリを作っています。 そのクエリを基にフォームを作っています。 さらに、そのフォームに追加クエリを実行するボタンを置いています。 フォームに表示してあるレコードだけ(パラメータで抽出されたレコードだけ)、他のテーブルに追加しようと思っているのですが、実行ボタンを押すともう一度パラメータが出てきてしまいます。 多分テキストボックスの値を読み取る際にレコードソースがテーブルでないのが問題じゃないかと思うのですが。。。 テーブル:container / items クエリ:from_con(パラメータは[container]フィールド) フォーム:from_con(テキストボックス名は[txtcontainer]) 追加クエリ:from_con_app(抽出条件は[forms]![from_con]![txtcontainer]としてみたがうまく動きません。) デザインビューの抽出条件を使う方法? sqlを使う方法? querydefを使う方法? いろいろありそうですが、ネットで検索してもヒットしません。 分かりにくい説明で申し訳ありませんがご教授願います。
回答: ここは、シンプルにsql文を書けば良いと思いますね。 docmd.runsql "insert into tbl_name (select ...)" ただ、パラメータクエリで入力されたパラメータを受け取っていないと、ここにいうselect文は書けません。docmd.runsql のsql文にパラメータを埋め込むのは最悪・最低な手法。それ以外の方法を思案すべきです。となると、パラメータクエリの起動方法を変えるべきでしょう。そして、パラメータはopenargsにて渡すべきかと・・・。 私は、このように考えます。