- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS クエリの抽出条件)
ACCESS クエリの抽出条件の書き方とは?
このQ&Aのポイント
- ACCESS データベースでクエリを実行する際の抽出条件の書き方について教えてください。
- テーブルとパラメータクエリを組み合わせてフォームを作成していますが、実行ボタンを押すと再度パラメータが表示されてしまいます。何か問題があるのでしょうか?
- 抽出条件の設定方法はデザインビュー、SQL、QueryDefなどいくつかありますが、どの方法が適切なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ここは、シンプルにSQL文を書けば良いと思いますね。 DoCmd.RunSQL "INSERT INTO tbl_name (SELECT ...)" ただ、パラメータクエリで入力されたパラメータを受け取っていないと、ここにいうSELECT文は書けません。DoCmd.RunSQL のSQL文にパラメータを埋め込むのは最悪・最低な手法。それ以外の方法を思案すべきです。となると、パラメータクエリの起動方法を変えるべきでしょう。そして、パラメータはOpenArgsにて渡すべきかと・・・。 私は、このように考えます。
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
回答No.1
こちらが参考になるかと。。。 ・パラメータクエリーをVBAから使うには? http://www.tsware.jp/tips/tips_083.htm
質問者
お礼
ありがとうございます。お礼が遅くなり申し訳ありません。 クエリデザインビューから作成したパラメータでなくて、VBAからパラメータを作るということですね。 確かにこの方がパラメータで受け取った値をあとから利用しやすいかも。 今回は抽出せずにフォームを開き、テキストボックスでフィルタを掛けることにしました。 これで追加クエリの抽出条件[Forms]![From_Con]![txtContainer]のままで上手くいきました。
お礼
ありがとうございます。お礼が遅くなり申し訳ありません。 やはりパラメータの値を受け取るように工夫しないと駄目ですね。 OpenArgsというのは勉強不足で初耳でした。 今回は抽出せずにフォームを開き、テキストボックスでフィルタを掛けることにしました。 これで追加クエリの抽出条件[Forms]![From_Con]![txtContainer]のままで上手くいきました。