最新トピック
1
1 ヶ月前
排他制御 1 ヶ月前
2
2 ヶ月前
Hatena様にご質問 2 ヶ月前
6
4 ヶ月前
モジュールでカレントフォームのコントロールを使うには 4 ヶ月前
7
4 ヶ月前
日付のテキストボックスからフォームが開けません 4 ヶ月前
9
4 ヶ月前
レポートにおける数値の間隔を広げる方法 4 ヶ月前
12
4 ヶ月前
リストボックスから複数選択しそれをテーブルに格納したい 4 ヶ月前
タグリスト
Markdown テーブル生成
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
あぁ、すみません。そもそも「コードそのまま」がフィルターとして不適切ですね。フィルターとして設定する文字列はSQL(のWHERE句)に従った記述にしないといけません
VBAはSQLとして処理できる文字列を発行し、それをデータベースに処理させるという2段階の処理をしています。VBAとして発行したものをそのままフィルターに設置したいとなった場合は、たとえば
として表示される文字列を設定することになります。具体例を挙げると
のようになり、これをそのままフィルターに記述すれば動きます
VBAコード上で文字列を表すための「"」はVBAのための記述なのでフィルター用の文字列に含めてはいけません
この時「#~#」は、「直接記述した文字が日付ですよ」ということを表しています。VBAの出力からは人が見れば日付に見えるだけの文字でしかないので、SQLとして処理するために日付として扱ってほしい部分として「#」で囲っているわけです
これを直接SQLとして関数に置き換える場合「#」まで含めて書き直すこととなります。今回は、
DateSerial(Year(Date()), Month(Date()), 1)自身が日付のデータとなるので、単純に「#」が不要になります