2012-09-21 3 views
1

수십 일 동안 고생하고있는 SQL 구문에 문제가 있습니다.MS Access Form의 SQL 구문

내가 폼 나는 테이블에 필드에 IP 번호에 따라 나라를 포함 IPLocation라는 쿼리 다음 쿼리에서 얻은 나라 Country라는 텍스트 상자에 삽입 할 IP Country Form를라는 MS 액세스 2010을 만들었습니다 :

IPNS IPNE CY2(2 letter Country Code) CY3(3 Letter country Code) Country (full Country Name) 

테이블 행

은 다음과 같습니다

IPNS  | IPNE  | CY2 | CY3 | COUNTRY 
19791872 | 19922943 | TH | THA | THAILAND 

양식은 01,235,867라는 텍스트 상자에 IP 주소와 장소 그것에서 IP 수를 계산, 그 다음에 SQL 쿼리를 사용하여 이에 해당하는 국가를 얻습니다.

나의 현재 쿼리는 다음과 같습니다 기본적으로 쿼리가 IPNumber이 IPNS 및 IPNE 사이에있는 국가를 찾을 수 있도록 설계되었습니다

IPNumber

같이

SELECT IPLocation.IPNS, IPLocation.IPNE, IPLocation.CY2, IPLocationCY3, IP.Location.Country 
    FROM IPLocation 
WHERE (((IPLocation.IPNS)<" & [Forms]![IP Country Form]![IPNumber]) 
    And ((IPLocation.IPNE) > " & [Forms]![IP Country Form]![IPNumber])) 

IPNS, IPNE는 숫자입니다.

도움을 주시면 감사하겠습니다.

은 테스트 쿼리는 내가 사용

Set rst = dbs.OpenRecordset(" 
       SELECT IPLocation.IPNS, IPLocation.IPNE, IPLocation.CY2, IPLocation.CY3, 
         IPLocation.Country 
        FROM IPLocation 
        WHERE (((IPLocation.IPNS)>19791871) 
        AND ((IPLocation.IPNE)<19922944)) 
      ") 

잘 작동하고 당신이 AND 절에 반전 비교 연산자를 코드에서 사용하는 쿼리에 올바른 국가

+1

당신의 < and >은 당신이 쿼리를 테스트 반전된다. –

+0

무엇이 문제입니까? – Ghost

답변

0

를 반환합니다.

IPLocation.IPNE)<" & [Forms]![IP Country Form]![IPNumber]

>" & [Forms]![IP Country Form]![IPNumber]

IPLocation.IPNS)은 다음과 같아야합니다

SELECT IPLocation.IPNS, IPLocation.IPNE, IPLocation.CY2, IPLocationCY3, 
     IP.Location.Country 
    FROM IPLocation 
WHERE (((IPLocation.IPNS) > " & [Forms]![IP Country Form]![IPNumber]) 
    And ((IPLocation.IPNE) < " & [Forms]![IP Country Form]![IPNumber])) 
+0

안녕 모두, 내 문제는 내가 진술을 사용하여 프로 시저 내에서 쿼리를 실행할 때 : Set rst = dbs.OpenRecordset ("국가 CY2, CY3, 국가 IPLocation 어디에서 IPNS <"& [Forms]! [IP 국가 양식]! [IPNumber] 및 IPNE> "& [Forms]! [IP 국가 양식]! [IPNumber]"). 컴파일 오류 변수 IPNE가 정의되지 않았습니다. – user1687946

+0

질문을 편집하여 오류 및 제공 할 수있는 새로운 정보를 추가하십시오. 보시다시피 코멘트에 대한 코드가 잘 작동하지 않습니다. – Yaroslav