2016-03-14 160 views
0

我想將字符串傳遞給具有參數「companyType」的Access查詢。 sql是「[forms]![formname]。[fieldname])」傳遞分隔字符串以訪問查詢作爲參數

這適用於一個值,但對於字符串例如「CompanyType1」,「CompanyType2」不起作用。

我知道如果該字段的數據類型是短文本或長文本類型,那麼in運算符中的每個元素都需要引號。我試圖用單引號包裝它們也無濟於事。

當我硬編碼在查詢中的值,例如「in('CompanyType1','CompanyType2')」查詢返回行,所以我認爲這是與引用轉義但不完全確定。

+0

如果表單選擇是兩家公司我建立在VBA代碼字符串:companyList =「‘公司1’,‘Company2的’」我已經嘗試了單,雙引號,但相同的結果。 – user1180741

+0

發佈查詢以及如何傳遞值。 – Sorceri

+0

這是查詢的結尾:我在Vba中設置了一個隱藏值,該值包含「Company1」或「'Company1','Company2'」第二個選項將不起作用,嘗試使用單個qoutes包裝 WHERE(( AND((DatePart(「yyyy」,[reservationDate]))= [forms]![frmRevenueByMonth]![cmbYear]在[[forms]![frmRevenueByMonth]![txtHiddenCompanyType]。[Value])) )); – user1180741

回答

0

您將無法將其作爲訪問查詢作爲參數;然而,你可以建立在VBA查詢:

dim qry as new QueryDef 
qry.SQL = _ 
    "SELECT some_column, ... " & _ 
    "FROM some_table [INNER JOIN ...] " & _ 
    "WHERE CompanyType IN (" & [list] & ")" 
qry.Execute 
相關問題