Доступ к инструкции SELECT и жестко заданному значению

Вот мой оператор VB SQL, который применяется к источнику строк несвязанного списка в Form_Current:

SelectionSQL = "SELECT tbl_Patches_Cisco_SAs_Applicability.PatchID, tbl_Patches_Cisco_SAs_Applicability.OS 
      FROM tbl_Patches_Cisco_SAs_Applicability 
      WHERE (((tbl_Patches_Cisco_SAs_Applicability.PatchID)=[Forms]![Patch_Management_Cisco_Stage2]![Publication_ID]));"

Это прекрасно работает, единственная проблема в том, что я хочу, чтобы источник строк включал в себя жестко закодированное значение "NA", без необходимости создавать связанную запись. Это возможно и как? т.е. как-то добавить NA к источнику строк?

2 ответа

Решение

Вы можете использовать UNION запрос, который добавляет одну строку сфабрикованных значений к тому, что у вас есть сейчас.

SELECT a.PatchID, a.OS
FROM tbl_Patches_Cisco_SAs_Applicability AS a
WHERE a.PatchID=[Forms]![Patch_Management_Cisco_Stage2]![Publication_ID]
UNION ALL
SELECT 0 AS PatchID, 'NA' AS OS
FROM Dual;

Двойным может быть любая таблица или запрос, который возвращает только одну строку. Я использую пользовательскую таблицу для этой цели: CreateDualTable ()

Одной из возможностей будет использование запроса UNION:

SelectionSQL = "SELECT tbl_Patches_Cisco_SAs_Applicability.PatchID,
    tbl_Patches_Cisco_SAs_Applicability.OS FROM tbl_Patches_Cisco_SAs_Applicability WHERE
    (((tbl_Patches_Cisco_SAs_Applicability.PatchID)=[Forms]![Patch_Management_Cisco_Stage2]![Publication_ID])) 
    UNION SELECT TOP 1 0, 'NA' FROM tbl_Patches_Cisco_SAs_Applicability"
Другие вопросы по тегам