|
▼かるびの さん:
>>strTemp = "Nz(項番, '') LIKE '*" & テキスト1 & "*'" & _
>> " AND Nz(お客様名, '') LIKE '*" & テキスト2 & "*'" & _
>> " AND Nz(住所, '') LIKE '*" & テキスト3 & "*'" & _
>> " AND Nz(電話番号, '') LIKE '*" & テキスト4 & "*'" & _
>> " AND Nz(郵便番号, '') LIKE '*" & テキスト5 & "*'" & _
>> " AND Nz(対応者1次, '') LIKE '*" & テキスト6 & "*'" & _
>> " AND Nz(対応日1次, '') LIKE '*" & テキスト7 & "*'" & _
>> " AND Nz(対応者2次, '') LIKE '*" & テキスト8 & "*'" & _
>> " AND Nz(対応日2次, '') LIKE '*" & テキスト9 & "*'"
>>
>> Me!サブクエリのサブフォーム.Form.Filter = strTemp
>> Me!サブクエリのサブフォーム.Form.FilterOn = True
>>
>>’今回作成した検索
>> Select Case Me.グループ
>> Case 1: Me.サブクエリのサブフォーム.Form.Filter = "進捗='OK'"
>> Case 2: Me.サブクエリのサブフォーム.Form.Filter = "進捗='NO'"
>> Case 3: Me.サブクエリのサブフォーム.Form.Filter = "進捗='未定'"
>> Case 4: Me.サブクエリのサブフォーム.Form.Filter = "進捗='その他'"
>> Case 5: Me.サブクエリのサブフォーム.Form.Filter = "項番 is not null" ←IDを全て表示
>> Case 6: Me.サブクエリのサブフォーム.Form.Filter = "(進捗 ='OK' Or 進捗 = 'NG') AND 対応日2次 is null"
>> End Select
>
> オプショングループにおいてオプション値が2であるオプションボタンが選択されている場合に
>このコードを実行すれば、
>「進捗='NO'」という抽出条件のみでフィルタがかかります。
> 「テキスト1」から「テキスト9」までのテキストボックスによる抽出条件は、
>フィルタに全く反映されません。
>
> その理由ですが、
>「Me!サブクエリのサブフォーム.Form.Filter = strTemp」のコードにより、
>(サブ)フォームのFilterプロパティには、テキストボックスによる抽出条件がセットされますが、
>「Case 2: Me.サブクエリのサブフォーム.Form.Filter = "進捗='NO'"」が実行されることにより、
>(サブ)フォームのFilterプロパティの値が「進捗='NO'」に書き替えられるからです。
>
>
>>テキスト用の検索と
>>グループ用の検索をどの様に組み合わせたらいいのか解りません
>
> テキストボックス・コントロールによる抽出条件と「グループ」コントロールによる抽出条件を
>合体させた抽出条件の文字列を作り、それを(サブ)フォームのFilterプロパティへの代入します。
>
> 具体的には、例えば、
>
>>Case 3: Me.サブクエリのサブフォーム.Form.Filter = "進捗='未定'"
>
>を、
> Case 3
> strTemp = strTemp & " OR 進捗='未定'"
>としてやれば、
>テキストボックス・コントロールによる抽出条件と「グループ」コントロールによる抽出条件を
>合体させた抽出条件の文字列がstrTempに格納されます。
>
> 抽出条件文字列が完成した後で初めて、(サブ)フォームのFilterプロパティにstrTempを代入します。
>
>
> ところで、Select Case 文でオプショングループのオプション値を使っているところからすると、
>オプションボタンの複数選択は諦めたんですかね。
かるびの様へ
出来ました!!
何度も読み返しては修正を繰り返し先ほど思い通り行きました。
ご指導有難うございました。
|
|