既に説明しているところの繰り返しになりますが
例えば2023・10・01 から 2024・01・31 は年月日が分割されたデータを使ってどうやってコード記述したら
を実現するためにはクエリ(SQL構文)で
WHERE not 年<2023 and not (年=2023 and 月<10) and not (年=2024 and 月>1) and not 年>2024
を実行します
ACCESSの仕様として、フォーム上でフォームのレコードソースからさらにデータを抽出する場合、フィルタプロパティにSQLのWHERE句と同じ記述方法を指定することができます
フォームのプロパティはVBAから操作することができ、フィルタプロパティはMe.Filter
で参照し
Me.Filter = "not 年<2023 and not (年=2023 and 月<10) and not (年=2024 and 月>1) and not 年>2024"
Me.FilterOn = True
とすれば、フィルタをかけることができます
なので、NOT
はSQL構文で使うところのNOT
です。上記のWHERE
をNOT
が掛かる部分ごとに分けると次のようになります
WHERE
not 年<2023
and
not (年=2023 and 月<10)
and
not (年=2024 and 月>1)
and
not 年>2024
NOT
は「否定」を表すので、「指定内容以外はOK」となります。つまり、「ここはダメ」を指定します。必要なだけ「ここはダメ」を重ねる(AND
で繋げる)と欲しい部分が残ります
まぁ、SQLの記述方法はいろいろあるので、ここの方法は一つではありません。NOT
を使わずに記述することもできるでしょう。そういうのも経験ですね
通報 ...