• ベストアンサー

Accessで、yes/no型

 業者抽出クエリの中に、得意分野をチェックボックスで6個、営業地域をチェックボックスで10個作っています。  それに対応する業者抽出フォームのフォームヘッダーに、得意分野をチェックボックスで6個、営業地域をチェックボックスで10個、抽出用コマンドボタン1個を配置しています。  得意分野を1個&営業地域を1個選択して、そのふたつの条件を満たす抽出用コマンドボタンのSQL文はどのように書けばよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

チェックボックス名が ck分野1 ~ 6、ck地域1 ~ 10 とすると。 Private Sub コマンド0_Click()  Dim flt As String  flt = ""  If Nz(Me.ck分野1, False) Then   If flt <> "" Then flt = flt & " and "   flt = flt & "[分野1] = True"  End If  If Nz(Me.ck分野2, False) Then   If flt <> "" Then flt = flt & " and "   flt = flt & "[分野2] = True"  End If '同様に分野6まで  If Nz(Me.ck地域1, False) Then   If flt <> "" Then flt = flt & " and "   flt = flt & "[地域1] = True"  End If  If Nz(Me.ck地域2, False) Then   If flt <> "" Then flt = flt & " and "   flt = flt & "[地域2] = True"  End If '同様に地域10まで  If flt <> "" Then   Me.Filter = flt   Me.FilterOn = True   'SQL = SQL & "WHERE " & flt  Else   Me.FilterOn = False  End If   End Sub ベタに書くならこうなると思います。 form のfilter を使って選択しています。 SQL文にしたいのなら、 SQL = SQL & "WHERE " & flt こんな感じで、SQL文にWHERE句を追加してください。 得意分野&営業地域を2個以上選択してもOKです。

NYAN-ta
質問者

お礼

これですこれです!!! ありがとうございました!!! 思い描いていたイメージ通りのものが出来上がりました。 大変勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

SQLは関係ないのでは、どう設計するかの問題です 肝心のテーブルの情報がありませんが どちらも1個しか選ばないのならチェックボックスはオプショングループにすればいいでしょう 得意分野オプショングループの戻り値を得意分野ID 営業地域オプショングループの戻り値を営業地域ID となるようににしておけば、そのまま抽出条件に使えます

NYAN-ta
質問者

お礼

質問の仕方を間違えました。 すみませんでした。 ありがとうございました。

NYAN-ta
質問者

補足

 回答ありがとうございます。  質問の仕方がまずかったようです。  業者一覧テーブルの一部のデータを表示するために、業者抽出クエリを作りました。得意分野6個はYes/No型、営業地域10個もYes/No型でテーブルを作っています。  業者抽出フォームで得意分野を1個&営業地域を1個選択して、そのふたつの条件を満たすデータを帳票形式で表示させたいと思っています。 得意分野及び営業地域1個選択と書きましたが、二つ以上の選択もありえますので、オプショングループは使わず作りたいと思います。  業者抽出クエリ全体を表示させる業者抽出フォームは、あいうえお検索ができるコマンドボタンをフォームヘッダーにつけています。 同じように抽出用コマンドボタンを押すことによって、得意分野&営業地域を選択して、それらの条件を満たす抽出用コマンドボタンのSQL文---これが間違っていたのでしょうか?---イベントプロシージャはどのように書けばよいのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスのフォーム

    アクセスのフォームで、ヘッダー部にボタンを3つ作成し、それぞれ名前を"1","2","3"とします。そして、全てのボタンに埋め込みマクロで"1"にはクエリ1を実行する、"2"にはクエリ2を実行する、"3"にはクエリ3を実行するというマクロを埋め込みます この時ボタンをクリックすると、その結果がフォームの詳細部分に表示させる事はできますか?例えば"2"をクリックすれば詳細部分にクエリ2の結果が表示される様にしたいです。それぞれのクエリの構成は異なります。テーブル形式で表示されるのではなく、フォームの形式で表示される様にしたいです。 表示された文字をクリックするとヘッダー部のテキストボックスにその文字が入力され、クエリの抽出条件がそのテキストボックスになっており、クエリ実行ボタンを押せばその抽出条件でクエリが実行され、詳細部分に表示・・・という様に検索できる様にしたいです。文字をクリックすればテキストボックスへというのは以前この場で教えて頂きました。 説明がうまくできなくてすいません。誰か教えて下さい。 よろしくお願いします。

  • 【Access】Excelへのエクスポート

    OS:Windows2000 ソフト:Access2003 単票形式のフォームにコマンドボタンを配置し、 そのボタンをクリックするとフォームで表示されているレコードのみを Excel形式でエクスポートするという機能を作成しようとしています。 ボタンを押すとまずそのレコードの主キーを取得し、 その主キーでクエリ抽出してエクスポートをするのでしょうか? VBAで取得した変数を事前に作成クエリのSQL文の変数に代入なんて出来ませんよね、、、? どのようにすればいいのでしょうか。

  • Access2002のand検索について

    検索フォーム内にチェックボックスが20項目くらいあり、チェックで選んで「抽出ボタン」を押した後、別フォームに「and検索」で抽出データを検出したいのですが、どのようにしたらいいでしょうか。 (できればVBAではなくクエリでそういう設定はできないでしょうか。)

  • アクセスについて

    (アクセスでSQL文の抽出条件を選択するフォームを作成しました。) フォームには6個のチェックボックスがあり、必ずどれか選択しなければなりません。 フォームの右上の×ボタンを押した時、何もチェックされていなかったら、メッセージを表示して、フォームを閉じるのを中止したいのですが、うまくできません。 どなたか、ご教授お願いします。

  • 【Access2003】

    お世話になります。 前回の質問で説明が足りませんでした。 申し訳ありませんでした。 検索フォーム(帳票フォーム)にて各レコードにチェックボックスを設けています。 クエリにて抽出した全レコードをボタンクリックで全チェックボックスを選択(Yes)したいのですが うまくいません。 ボタンのプロパティの『クリック時』にどういうVBAをしたら良いのでしょうか? 宜しくお願い致します。

  • Accessのクエリ

    初めまして。Accessのクエリについての質問です。 Access2003を使っています。 検索フォームを作り、その検索フォームにテキストボックスを2つ作り、そのテキストボックスに検索したい言葉を入力し、コマンドボタンで作った検索ボタンを押すとマクロでフィルタの実行がされデータを抽出できるというものを作りました。フィルタには選択クエリを使用しています。抽出したい2つのフィールドの抽出条件にあいまい条件のLike "*" & [Forms]![フォーム名]![テキストボックス名] & "*"を入れています。 今はテキストボックスが2つですが、もっと増やしていろんな条件で検索出来るようにしたいので、3つ目のテキストボックスを作り、抽出条件も同じように入れました。ですが、そうすると今までちゃんとできていた最初の2つのテキストボックスによる抽出が違った結果となりでてきました。このとき、新しく作った3つ目のテキストボックスは空欄なので最初と同じ結果が出ると思ったのですが、これは抽出条件が3つはできないということでしょうか?どなたか教えてください。

  • Accessのサブフォームのフィールドをチェックボックスにより表示/非表示に切り替える方法

    無謀なことかもしれませんが・・・ 下記のようなフォームを作成したいと思い質問させていただきます。 OS:WindowsXP 使用ソフト:Access2003 ・非連結のサブフォームにクエリを表示させています。 ・メインフォームにはクエリのフィールド名が書かれたチェックボックスを並べて配置しています。 ・チェックボックスをオフにしてコマンドボタンをクリックすると、 サブフォームのクエリのフィールドが非表示になり、またチェックボックスをオンにするとサブフォーム内のクエリのフィールドが表示されるようにしたいです。 初心者なので、丁寧に教えてもらえるととても助かります。 どなたかお知恵をお貸しください★

  • Access2010についての質問です。

    アクセス「超」初心者です。 あるクエリ上のデータを検索(抽出?)して、フォームに反映させたいのですが、基本的なところで躓いております。 クエリ【Q基本データ】にあるフィールドは [階] [場所] [物] です。 [階][場所]は、別にテーブルがあり、そこから選ぶようになっています。 (→【T階テーブル】【T場所テーブル】) このクエリを基に作成したフォーム【F基本データ】上で、検索を行いたいのです。 フォーム【F基本データ】のヘッダー部分に、 テキストボックスを2つ[階検索][場所検索]と ボタンを1つ[検索] それぞれ配置し検索を行えるようにしたいのですが・・・ (テキストボックスはそれぞれ【T階テーブル】【T場所テーブル】からコンボボックスで選ぶようにしています) [検索]ボタン > プロパティシート > イベント > クリック時 の埋め込みマクロにアクション「フォームを開く」を入力していけば良いのでしょうか??? テキストボックスが2つだとマクロでは無理とか??? テキストボックス1つにつき、ボタンを1つ配置したら良いのか??? ご教授いただけましたら幸いです。

  • ACCESS クエリの抽出条件

    毎度お世話になります。 クエリをレコードソースとするフォームから、コマンドボタンでアクションクエリを実行するときの抽出条件の書き方を教えて頂けないでしょうか? 二つのテーブル(別のACCESSファイルからリンク)を基にパラメータクエリを作っています。 そのクエリを基にフォームを作っています。 さらに、そのフォームに追加クエリを実行するボタンを置いています。 フォームに表示してあるレコードだけ(パラメータで抽出されたレコードだけ)、他のテーブルに追加しようと思っているのですが、実行ボタンを押すともう一度パラメータが出てきてしまいます。 多分テキストボックスの値を読み取る際にレコードソースがテーブルでないのが問題じゃないかと思うのですが。。。 テーブル:Container / Items クエリ:From_Con(パラメータは[Container]フィールド) フォーム:From_Con(テキストボックス名は[txtContainer]) 追加クエリ:From_Con_App(抽出条件は[Forms]![From_Con]![txtContainer]としてみたがうまく動きません。) デザインビューの抽出条件を使う方法? SQLを使う方法? QueryDefを使う方法? いろいろありそうですが、ネットで検索してもヒットしません。 分かりにくい説明で申し訳ありませんがご教授願います。

  • 【Access2003】

    お世話になります。 検索フォーム(帳票フォーム)にて各レコードにチェックボックスを設けています。 クエリにて抽出した全レコードのチェックボックスを選択(Yes)したいのですが うまくいません。 宜しくお願い致します。

専門家に質問してみよう