• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:accessでの2つのコンボックスによるフィルター)

accessでの2つのコンボックスによるフィルター

このQ&Aのポイント
  • アクセスフォームに2つのコンボボックスを追加し、フィルタリング機能を実装したいです。
  • コンボボックスのデータソースをテーブル/クエリとして設定し、選択した値に基づいてフィルタリングを行いたいです。
  • しかし、1つ目の選択によって2つ目のコンボボックスが正しく動作せず、フィルタリングがうまく行われません。アドバイスをいただけると幸いです。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

現象の確認ができました。 申請履歴T(全データ)のデータのありようによっては、 With Me   .Filter = "[ステータス]='" & Me.ステータスリスト & "'"   .Filter = "[申請内容]='" & Me.申請リスト & "'"   .FilterOn = True End Wit や DoCmd.ApplyFilter WhereCondition:="[ステータス]='" & Me.ステータスリスト & "'" DoCmd.ApplyFilter WhereCondition:="[申請内容]='" & Me.申請リスト & "'" では、AND ではなく、OR 検索になってしまうようです。 したがって、No3のように、 Me.Filter = "[ステータス] = '" & Me.ステータスリスト & "' And " & "[申請内容]='" & Me.申請リスト & "'" Me.FilterOn = True きちんとAND記述をしないといけないですね。 私の勘違いでした、とこちらでは思っているのですが どうでしょうか?

その他の回答 (3)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

同様に、 Private Sub 検証_Click() Me.Filter = "[ステータス] = '" & Me.ステータスリスト & "' And " & "[申請内容]='" & Me.申請リスト & "'" Me.FilterOn = True End Sub では?

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

同じことだと思うのですが、 Private Sub 検証_Click() With Me   .Filter = "[ステータス]='" & Me.ステータスリスト & "'"   .Filter = "[申請内容]='" & Me.申請リスト & "'"   .FilterOn = True End With End Sub と、してみるとどのようになりますか?

chi_ko6262
質問者

お礼

No3のAnd で解決いたしました。何度もお付き合いありがとうございました。なんとお礼を言えばいいかわかりませんが、本当にありがとうございました。思わずファン登録させて頂きました。今後も質問があると思いますが、ご助力宜しくお願い致します。

chi_ko6262
質問者

補足

お返事ありがとうございます。でもやはりステータスが維持されず同じ状態です。申請内容だけが維持されステータスは選んだもの以外になってしまいます。VBA事態をIf文にした方が良いのでしょうか。(私には無理ですが) 色々考えていただいてありがとうございます。もう少し付き合っていただいてもよろしいでしょうか? 何卒、宜しくお願いいたします。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

>1つを選択後2つ目を選択すると○○○and△△△って具合にならず、一方に引っ張られて >ちゃんと出ません。 やり方はあっている、というか、 'DoCmd.ApplyFilter WhereCondition:="[申請内容]='" & Me.申請リスト & "'" のように、この一行がコメントアウトされているからでは??????

chi_ko6262
質問者

補足

冒頭の’ですが私の打ち間違えとしか言えず、VBAには付いておりません。大変申し訳ござませんが、再度お知恵を拝借できないでしょうか。何卒、宜しくお願いいたします。