hiroton
2023/11/09 (木) 15:02:43
67b2d@f966d
そのまま右辺の内容を変数1、変数2の位置に記述すればそれでいいと思いますが
Me.Filter = "年月>= '" & Me.[コンボ年月1] & "'" & " AND " & "年月<= '" & Me.[コンボ年月2] & "'"
ただ、文字列リテラルをわざわざ分割して記述する必要はないので"'" & " AND " & "年月<= '"
の部分は一つにまとめて
Me.Filter = "年月>= '" & Me.[コンボ年月1] & "' AND 年月<= '" & Me.[コンボ年月2] & "'"
もしくは、範囲を抽出するならBETWEEN n1 AND n2
を使って
Me.Filter = "年月 BETWEEN '" & Me.[コンボ年月1] & "' AND '" & Me.[コンボ年月2] & "'"
なんていうのもありです
余談ですが、フィルタのコードは複雑化したりするのでバラしておいたほうが(コードを読み解く場合と合わせて)簡素だったりしますね
Dim strFilter As String
'//範囲開始フィルタ
strFilter = strFilter & " AND 年月>= '" & Me.[コンボ年月1] & "'"
'//範囲終了フィルタ
strFilter = strFilter & " AND 年月<= '" & Me.[コンボ年月2] & "'"
Me.Filter = Mid(strFilter,6)
テンプレート的な記述で、この掲示板でも何度かこのようなコードを書いています
通報 ...