<検索するためのコードを追加する>
1. 検索フォームのクラスモジュールを開きます。
2. psフォームを開く プロシージャに, 以下のように赤色部分のコードを追加します。 先頭部分で,strBaba 変数を宣言しています。 なお,紫色のところは,フィルタの表示に使用する回次用の文字列を作るところで,プログラムミスがあったところなので,修正してください。
---------------------------------------------------------------------------------------- Private Sub psフォームを開く(strFormName As String) On Error GoTo Err_psフォームを開く 'strFormName は, 開くフォーム名。 '省略 Dim strKaisaibi As String '開催日 Dim strTmpKaisaibi As String Dim strRaceNo As String 'レース番号 Dim strGentei As String '牝馬戦,ハンデ戦等 Dim strTmpGentei As String Dim strBaba As String '馬場状態 ← この変数を追加 '省略 'レース番号 If Me![リストレース番号].ItemsSelected.Count <> 0 Then For intCount = 0 To Me![リストレース番号].ItemsSelected.Count - 1 If intCount <> 0 Then strRaceNo = strRaceNo & " OR " End If strRaceNo = strRaceNo & "Race.レース番号 = " & Me![リストレース番号].ItemData(Me![リストレース番号].ItemsSelected(intCount)) Next If strFilter <> "" Then strFilter = "(" & strFilter & ") And (" & strRaceNo & ")" Else strFilter = strRaceNo End If End If 'リスト限定 If Me!リスト限定.ItemsSelected.Count <> 0 Then For intCount = 0 To Me!リスト限定.ItemsSelected.Count - 1 If intCount <> 0 Then strGentei = strGentei & " AND " End If strTmpGentei = Me!リスト限定.ItemData(Me!リスト限定.ItemsSelected(intCount)) If strTmpGentei = "牝馬戦" Then strGentei = strGentei & "((Race.競走記号 LIKE '牝*') OR (Race.競走記号 LIKE '○混 牝*') OR (Race.競走記号 LIKE '○国際 牝*'))" ElseIf strTmpGentei = "非牝馬戦" Then strGentei = strGentei & "(NOT((Race.競走記号 LIKE '牝*') OR (Race.競走記号 LIKE '○混 牝*') OR (Race.競走記号 LIKE '○国際 牝*')))" ElseIf strTmpGentei = "ハンデ戦" Then strGentei = strGentei & "(Race.重量種別 = 'ハンデ')" ElseIf strTmpGentei = "非ハンデ戦" Then strGentei = strGentei & "(Race.重量種別 <> 'ハンデ')" End If Next If strFilter <> "" Then strFilter = "(" & strFilter & ") And (" & strGentei & ")" Else strFilter = strGentei End If End If '馬場状態 If Me!lstBaba.ItemsSelected.Count <> 0 Then For intCount = 0 To Me!lstBaba.ItemsSelected.Count - 1 If intCount <> 0 Then strBaba = strBaba & " OR " End If strBaba = strBaba & "[馬場状態] = '" & Me!lstBaba.ItemData(Me!lstBaba.ItemsSelected(intCount)) & "'" Next If strFilter <> "" Then strFilter = "(" & strFilter & ") And (" & strBaba & ")" Else strFilter = strBaba End If End If ' フィルタ条件表示用。各変数は再利用するので,初期化します。 strFilterName = "" strNen = "" If Me![リスト年].ItemsSelected.Count <> 0 Then For intCount = 0 To Me![リスト年].ItemsSelected.Count - 1 If intCount <> 0 Then strNen = strNen & " or " End If strNen = strNen & Me![リスト年].ItemData(Me![リスト年].ItemsSelected(intCount)) & "年" Next '省略 If Me![リスト回次].ItemsSelected.Count <> 0 Then For intCount = 0 To Me![リスト回次].ItemsSelected.Count - 1 If intCount <> 0 Then strKaiji = strKaiji & " or " End If strKaiji = strKaiji & Me![リスト回次].ItemData(Me![リスト回次].ItemsSelected(intCount)) & "回" Next If strFilterName <> "" Then If InStr(1, strKaiji, " or ") > 0 Then strFilterName = strFilterName & " And (" & strKaiji & ")" Else strFilterName = strFilterName & " And " & strKaiji End If Else If InStr(1, strKaiji, " or ") > 0 Then strFilterName = "(" & strKaiji & ")" Else strFilterName = strKaiji End If End If End If '省略 strGentei = "" If Me!リスト限定.ItemsSelected.Count <> 0 Then For intCount = 0 To Me!リスト限定.ItemsSelected.Count - 1 If intCount <> 0 Then strGentei = strGentei & " AND " End If strGentei = strGentei & Me!リスト限定.ItemData(Me!リスト限定.ItemsSelected(intCount)) Next If strFilterName <> "" Then If InStr(1, strGentei, " or ") > 0 Then strFilterName = strFilterName & " And (" & strGentei & ")" Else strFilterName = strFilterName & " And " & strGentei End If Else If InStr(1, strGentei, " or ") > 0 Then strFilterName = "(" & strGentei & ")" Else strFilterName = strGentei End If End If End If strBaba = "" If Me!lstBaba.ItemsSelected.Count <> 0 Then For intCount = 0 To Me!lstBaba.ItemsSelected.Count - 1 If intCount <> 0 Then strBaba = strBaba & " or " End If strBaba = strBaba & Me!lstBaba.ItemData(Me!lstBaba.ItemsSelected(intCount)) Next If strFilterName <> "" Then If InStr(1, strBaba, " or ") > 0 Then strFilterName = strFilterName & " And (" & strBaba & ")" Else strFilterName = strFilterName & " And " & strBaba End If Else If InStr(1, strBaba, " or ") > 0 Then strFilterName = "(" & strBaba & ")" Else strFilterName = strBaba End If End If End If gxstrFilter = strFilter gxstrOrder = "" gxstrFilterName = strFilterName strCriteria = strFilter '省略 End Sub ----------------------------------------------------------------------------------------