2014-04-24 2 views
0

다른 테이블의 ID 값도 같을 때 내 유효성 검사 테이블의 열을 업데이트하려고하지만 구문 오류가 계속 발생합니다. 모든 예제는 온라인으로 보았습니다 (외관상으로는 아니지만 올바르게 보입니다). 구문 오류는 코드의 where 문 부분에서 throw됩니다. 아무도 내가 본 것을 보지 못합니까?나머지를 사용하여 ms 액세스의 필드 값을 설정합니다.

DoCmd.RunSQL "UPDATE OTCValidation LEFT JOIN Option16 ON Option16.[Plan Code]=OTCValidation.[Plan Code] SET OTCValidation.[Step 1 Actual]= Option16.[RXOTCIND] WHERE Option16.ID % 2 = 0 AND OTCValidation.[Plan Code] is not Null" 
DoCmd.RunSQL "UPDATE OTCValidation LEFT JOIN Option16 ON Option16.[Plan Code]=OTCValidation.[Plan Code] SET OTCValidation.[Step 2 Actual]= Option16.[RXOTCIND] WHERE Option16.ID % 2 <> 0 AND OTCValidation.[Plan Code] is not Null" 
+0

, 나는 문제는 코드의 'Option16.ID % 2 = 0'부분이고, 동일 문제없이 프로그램 코드 400 다른 라인에 합류. 이 전체 라인은 내가 그 나머지 비트를 추가 할 때까지 작동했다. 그리고 이제 where 절에서 문법 에러를 던진다. – user1787114

답변

3

액세스는 모듈러스 연산자로 Mod 키워드를 사용합니다. (가) 정상적으로 작동 조인

DoCmd.RunSQL "UPDATE OTCValidation LEFT JOIN Option16 ON Option16.[Plan Code]=OTCValidation.[Plan Code] SET OTCValidation.[Step 1 Actual]= Option16.[RXOTCIND] WHERE Option16.ID Mod 2 = 0 AND OTCValidation.[Plan Code] is not Null" 
DoCmd.RunSQL "UPDATE OTCValidation LEFT JOIN Option16 ON Option16.[Plan Code]=OTCValidation.[Plan Code] SET OTCValidation.[Step 2 Actual]= Option16.[RXOTCIND] WHERE Option16.ID Mod 2 <> 0 AND OTCValidation.[Plan Code] is not Null" 
관련 문제