Microsoft Access 掲示板

年月で期間抽出コード / 6

16 コメント
views
4 フォロー
6

2023/04、2023/05等のフォーマット関数で作成した年月データがあるクエリを基に作成したフォームがあります。

日付/時刻型のフィールドに対して例えばFormat([年月日],"yyyy/mm")というような式を設定した演算フィールドがあるということでしょうか。

だとしたら演算フィールドに対して抽出条件を設定するとインデックスが利用されないので、データ件数が多い場合は処理が重くなる可能性があります。
式は冗長になりますが、処理を少しでも高速にしたい場合は、演算フィールドにせずに下記のように生のフィールドに条件を設定するようにした方がいいです。(日付/時刻型フィールドにはインデックスを設定)

Me.Filter = "年月日>=#" & Me.[コンボ年月1] & "/01# AND " & _
            "年月日< #" & DateAdd("m", 1, Me.[コンボ年月2]) & "#"

参考リンク
抽出条件でインデックスが無効になる場合 - hatena chips

通報 ...