カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

ACCESS フィルター VBA

この記事は最終更新日から1年以上経過しています。

よく使うので覚書

1Private Sub Search()
2On Error Goto Exception
3 
4    Dim Coll  As Collection
5    Dim SQL() As String
6 
7    Set Coll = New Collection
8 
9 
10    If Not IsNull([検索テキスト]) Then
11        Coll.Add "[フィールド1] Like '*" & [検索テキスト] & "*'"
12    End If
13 
14    If [検索チェック] = -1 Then
15        Coll.Add "[チェックフィールド] = " & [検索チェック]
16    End If
17 
18    If [検索チェック2] = 0 Then
19        Coll.Add "[チェックフィールド2] = 0"
20    End If
21 
22 
23    If Coll.Count > 0 Then
24        For i = 1 To Coll.Count
25            ReDim Preserve SQL(i - 1) As String
26            SQL(i - 1) = Coll(i)
27        Next i
28        DoCmd.ApplyFilter , Join(SQL, " And ")
29        'Debug.Print Join(SQL, " And ") '確認用
30    Else
31        Me.FilterOn = False
32    End If
33 
34Exit Sub
35Exception:
36    MsgBox Err.Description
37End Sub
この記事がお役に立ちましたらシェアお願いします
2,111 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です