Доступ к инструкции 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"