IN子句中能否使用參數(shù)

字號(hào):

問(wèn)題:
     關(guān)于IN子句用參數(shù)代替時(shí),多參數(shù)該如何處理?
    如何編寫(xiě)刪除id where in(1,2,3,4,5) 的查詢
    DELETE Article.ID
    FROM Article
    WHERE (((Article.ID) In ([@IDs])));
    IDs的值單獨(dú)為一個(gè)的時(shí)候可以刪除,兩個(gè)以上的值就不行了
    回答:
    DELETE Article.ID
    FROM Article
    WHERE (((Article.ID) In ([@IDs])));
    參數(shù)只允許有一個(gè),如果你在[@IDs]里面填寫(xiě) 1,2,3仍然被作為一個(gè)參數(shù),而不是3個(gè)。
    如果你要達(dá)到你需要的效果,必須用 VBA 來(lái)組織 jet SQL 語(yǔ)句
    dim strsql as string
    dim strIn as string
    strIn="1,2,3"
    strsql="DELETE Article.ID FROM Article WHERE Article.ID In (" & strIn & ")"
    currentproject.connection.execute strsql