hatena
hatena
2024/02/16 (金) 16:50:31
haetnaさんの回答にある Mid(strFilter, 6) は何かで見た事がありますがやっと意味がわかりました。”はカウントせずに半角スペースはカウントに入るのですね。因みにMe.FilterOn = (strFilter <> "")の右辺はTrueと同じ意味になるのでしょうか?
(strFilter <> "")
は、strFilter が ""(空文字列) でなければ True、""(空文字列) なら False になります。
下記のコードと同義になります。
If strFilter <> "" Then
Me.FilterOn = True
Else
Me.FilterOn = False
End If
5行のコードが1行で済むのでついつい使ってしまいますが、コードの意味のつかみやすさからいけば、5行で書いた方がいいですね。
hirotonさんの回答にある Private Sub setFilter() 'フィルタをかける処理 ですが変数自体にコード記述が出来るのですね? フォーム上のイベントにはそれは出来ないのでVBA画面に直接記述したらいいのでしょうか?
VBAに直接記述します。
Private Sub setFilter() は変数ではなくプロシージャです。
Subプロシージャ、Functionプロシージャについて調べてください。
#1 のhirotonさんの最初のコードの 'フィルタをかける処理
の部分を #2 の私のコードに置き換えればOKです。
通報 ...