2015-01-07 21 views
2

여기 Form_Current에 언 바운드 목록 상자의 행 원본에 적용되는 내 VB SQL 문입니다 연관된 레코드를 만들 필요없이 "NA"의 하드 코딩 된 값을 포함시킵니다. 이게 가능하고 어떻게? 즉 어떻게 든 NA를 rowsource에 추가하겠습니까?액세스 SELECT 문 및 하드 코드 된 값

+0

예, 난 그냥 쿼리 테이블에 "NA"레코드를 추가 할 수 있습니다 ... 왜냐하면 그 테이블에있는 모든 레코드는 매우 조심스럽게 작성되어야하기 때문입니다 ... 준수하에있는 사이버 자산 목록을 나타내므로 NA 레코드가 좋지 않습니다. 간단히 말하면, "하드 코딩 된 값을 어떻게 든 rowsource 또는 SQL 문에 포함 할 수 있습니까?"라는 질문입니다. SelectionSQL & "NA", 또는 어쩌면이 SQL 문을 레코드 집합에 할당하고 레코드 집합에 NA를 추가하고 여하튼 행 원본에 할당하는 것으로 생각했습니다. 저에게 알려주세요. 감사. – gunslingor

답변

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()

+0

나는 실제로 틀린 질문을 주었다 그러나 나는 요점을 얻는다. "NA"라는 새 테이블을 만들고 "NA"라는 단 하나의 필드 만 할당했습니다. 단 하나의 값 "NA"가 있습니다. Me.OSs_On_Network.RowSource = "SELECT DISTINCT CYBER_ASSETS.OS, CYBER_ASSETS.CPCA_or_equal CYBER_ASSETS WHERE (CYBER_ASSETS.CPCA_or_equal = 'YES') UNION ALL SELECT 0 패치 ID로, 'NA'AS OS FROM na; 이것은 거의 작동하지만 NA 대신 목록에 "0"을 추가합니다. 어떤 아이디어? – gunslingor

+0

아! * OS * 열에 "NA"가 필요하다고 생각했습니다. 잘못된 것을 짐작 했으므로 그 두 열의 값을 바꾸십시오 :'SELECT 'NA'AS PatchID, 0 AS OS' – HansUp

+0

이 설정으로 트릭을 만들었습니다. 문제가 있다고 생각하면 알려주세요 ... 0 대신 필드 이름 : Me.OSs_On_Network.RowSource = "SELECT DISTINCT CYBER_ASSETS.OS, CYBER_ASSETS.CPCA_or_equal CYBER_ASSETS WHERE (CYBER_ASSETS.CPCA_or_equal = 'YES') UNION ALL SELECT NA AS PatchID, 'NA'AS OS FROM na; " – gunslingor

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"