2

这是我的 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 添加到行源?

4

2 回答 2

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;

Dual可以是任何只返回一行的表或查询。为此,我使用了一个自定义表:CreateDualTable()

于 2015-01-07T15:37:55.503 回答
0

一种可能性是使用 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"
于 2015-01-07T15:41:02.147 回答