Access(2007-2016)を利用し、勤怠管理DBを作成しています。表形式フォームにて、レコード検索を行えるようにしたいと思っているのですが、Format([作業日],"yyyy\年mm\月") とまとめた日付型レコードを検索する方法が分からず、質問させていただきました。
1.T_勤怠テーブル
・勤怠No:オートナンバー型
・作業日:日付型
・従業員名:短いテキスト
2.T_稼働テーブル
・稼働No:オートナンバー型
・勤怠No:数値型
・クライアント名:短いテキスト
・業務名:短いテキスト
・稼働時間:数値型
3.Q_月次_勤怠稼働クエリ
・作業月: Format([作業日],"yyyy\年mm\月") (グループ化)
・クライアント名 (グループ化)
・従業員名 (グループ化)
・業務名 (グループ化)
・稼働時間 (合計)
「Q_月次_勤怠稼働クエリ」をレコードソースにした表形式フォーム「F_勤怠稼働フォーム」にて、「クライアント名」「作業月」でのレコード検索を行えるようにしたいと思っています。現在は以下のようなコードで検索を行っています。
※クライアント検索窓を「client_Search」、検索開始日を「Time_start」、検索終了日を「Time_end」としています。
Private Sub 検索ボタン_Click() Dim strSearch As String strSearch = "" If client_Search <> "" Then strSearch = "(クライアント名='" & client_Search & "')" End If strSearch = strSearch & " AND " strSearch = strSearch & "(作業月 Bwtween #" & Format(DateSerial(Year(Me.Time_start), Month(Me.Time_start), Day(Me.Time_start)), "yyyy年mm月") & " # AND # " _ & Format(DateSerial(Year(Me.Time_end), Month(Me.Time_end), Day(Me.Time_end)), "yyyy年mm月") & "#)" Forms!F_勤怠稼働フォーム.Filter = strSearch Forms!F_勤怠稼働フォーム.FilterOn = True Forms!F_勤怠稼働フォーム.AllowAdditions = False End Sub
しかしこれだと「3075エラー:構文エラー。演算子がありません」とのエラーが出てしまいます。「#」を「'」に変えてみても、同様のエラーが表示されます。
恐らくクエリで「xxxx/xx/xx」と表示される日付型データ「作業日」を、「xxxx年xx月」という文字列型表記のデータ「作業月」に変えてしまっているのが原因だと思われるのですが、どのように解決すればよいのでしょうか。お力添えいただけると助かります。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/07 13:58
2020/10/07 14:00
2020/10/07 14:07
2020/10/07 14:11