2016-08-30 8 views
0
stLinkCriteria = "[UpdateStatus] = '" & _ 
    Forms![Updates-Search Menu]!LookupUpdateStatus & "'" & " And _ 
    [Office] = '" & [Office] & "'" 

リンクされた条件に検索を限定しようとしています。更新ステータスとオフィスを見て、フォームを正しくフィルタリングします。上記のコードは現在動作している私のベースコードです。もう1つの条件を追加して、 のステータスを更新します(オフィスまたは共有)。ここに私の試みはあるが、リンク基準msアクセス

stLinkCriteria = "[UpdateStatus] = '" & _ 
    Forms![Updates-Search Menu]!LookupUpdateStatus & "'" & " _ 
    And [Office] = '" & [Office] & "'" Or _ 
    "[Forms]![Updates]!ShareWithOtherOffice = -1" 

動作しないすべてのヘルプは

答えて

0

を高く評価しているそれはおそらく

stLinkCriteria = "[UpdateStatus] = '" & _ 
    Forms![Updates-Search Menu]!LookupUpdateStatus & _ 
    "' And ([Office] = '" & [Office] & _ 
    "' Or [Forms]![Updates]!ShareWithOtherOffice <> 0)" 

する必要がありますので、デフォルトではORの前に行われ、あなたは事務所のものを囲む必要がありますANDの前にORを実行するには、かっこを使用します。

また、ORは文字列内にある必要があります。

私は私が同様のタイプのmistmatchを取得する理由上の任意の考え

Function Build(ByVal s As String, ParamArray args()) As String 
    'Build("LastName = '{0}', FirstName = '{1}'","Doe","John"). 

    Dim i As Long 

    For i = 0 To UBound(args) 
     s = Replace(s, "{" & i & "}", Nz(args(i))) 
    Next i 
    Build = s 
End Function 
sql = "[UpdateStatus] = '{0}' And ([Office] = '{1}' Or {2})" 
stLinkCriteria = Build(sql, 
         Forms![Updates-Search Menu]!LookupUpdateStatus, _ 
         [Office], _ 
         [Forms]![Updates]!ShareWithOtherOffice <> 0) 
+0

それが簡単になる機能Buildを使用していますか?文字列内のシェアはチェックボックスです – DotyDot

+0

'' 'の不一致があり、' Or'は文字列の内側でなければなりません。 –