Microsoft Access 掲示板

ファームにある複数のコンボボックスでフィルター / 5

15 コメント
views
4 フォロー
5

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です。

通報 ...