Microsoft Access 掲示板

年月のみで検索する

1 コメント
views
4 フォロー

帳票での絞込検索について質問です。

①「cbo満了日検索」について、下記クエリで設定して年月表示にしています。

SELECT DISTINCT Format(Year([満了日]) & "/" & Month([満了日]),"yyyy/mm") AS 満了月
FROM Q_管理リスト
ORDER BY Format(Year([満了日]) & "/" & Month([満了日]),"yyyy/mm");

②このとき、満了日も同様に年月表示として絞り込みしたいですがうまくいきません。

Private Sub cbo満了日検索_AfterUpdate()
   DoCmd.ApplyFilter "", "Format(Year([満了日]) & "/" & Month([満了日]),"yyyy/mm"),=[Forms]![F_管理リスト]![cbo満了日検索]",""
End Sub

左辺にこういった式を使うことはできないのでしょうか…。
ご指導のほどよろしくお願いします。

作成: 2021/02/23 (火) 13:02:52
最終更新: 2021/02/23 (火) 13:03:10
通報 ...
1

①のSQLは「値集合クエリ」に設定しているということですか。

まず、このSQLの
Format(Year([満了日]) & "/" & Month([満了日]),"yyyy/mm")
は、
Format([満了日],"yyyy/mm")
で十分ですね。

②のコードは下記でいいでょう。

Private Sub cbo満了日検索_AfterUpdate()
   DoCmd.ApplyFilter , "Format([満了日],'yyyy/mm')=[Forms]![F_管理リスト]![cbo満了日検索]"
End Sub

VBAのコードにSQL条件式を埋め込む場合は、引用符として'(単引用符)を使います。

詳細は下記を読んでください。

Access上のコード内で引用符(")と単引用符(')の使い分けについて - hatena chips