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

只是試圖限制我的搜索到一個鏈接的標準。它會查看更新狀態和辦公室並正確過濾我的表單。上面的代碼是我目前工作的基本代碼。我想添加一個標準,因此看起來像這個 更新狀態和(辦公室或共享)。這裏是我的嘗試,但不起作用鏈接條件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)" 

由於之前或默認被執行,則必須將辦公室的東西在括號以便在AND之前執行OR。

另外我的OR應該在字符串內。

我使用的是功能Build這使得它更簡單

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

上,爲什麼我得到一個類型mistmatch以及有什麼想法? sharewithotheroffice是一個複選框 – DotyDot

+0

有一個不匹配的'''和'Or'應該在字符串中,而不是在外面。 –