Определить порядок параметров для OLEDB с помощью Microsoft Access

#c# #ms-access #oledb

#c# #ms-access #oledb

Вопрос:

У меня есть несколько SELECT запросов, содержащих подзапросы в WHERE предложении, использующем параметры. OLEDB, похоже, хочет, чтобы параметры в подзапросе были перечислены первыми. Есть ли способ определить, в каком порядке перечислять параметр?

 SELECT txtUserName
FROM tblUsers AS U
WHERE txtType = ?
AND "  " lngUserID
IN (
    SELECT lngUserID
    FROM tblUserGroups AS UG
    INNER JOIN tblGroups AS G ON UG.lngGroupID = G.lngGroupID
    WHERE G.txtName = ?
)
AND "  " lngUserID
IN (
    SELECT lngUserID
    FROM tblUserGroups AS UG
    INNER JOIN tblGroups AS G ON UG.lngGroupID = G.lngGroupID
    WHERE G.txtName
    IN (
        SELECT txtName
        FROM tblGroups G
        WHERE txtComment = ?
    )
)
  

Чтобы заставить это работать, мне пришлось добавить txtType параметр после двух других параметров.