MS Access에서 VBA를 사용하여 내부 조인을 사용하여 테이블을 업데이트하려고하지만 SQL Update
문을 SQL Server Management Studio에서 테스트했으며 작동합니다. 결과적으로 오류가 발생합니다 (아래 참조).VBA - 누락 된 연산자 SQL 쿼리 오류
감사합니다.
액세스에서MS Access에서 VBA를 사용하여 내부 조인을 사용하여 테이블을 업데이트하려고하지만 SQL Update
문을 SQL Server Management Studio에서 테스트했으며 작동합니다. 결과적으로 오류가 발생합니다 (아래 참조).VBA - 누락 된 연산자 SQL 쿼리 오류
감사합니다.
액세스에서
SQL = "Update A set A.RevBillCtrl = 8 from dbo_tblMain A inner join dbo_tblPlateNo as B ON B.PNC = A.PLC inner join dbo_tblSubcons as C on B.SCC = C.SCC "
와 조인 업데이트는 SQL Server에 비교 구문이 다른. 올바른 구문은 다음과 같습니다.
Update dbo_tblMain AS A
inner join dbo_tblPlateNo as B on B.PNC = A.PLC
inner join dbo_tblSubcons as C on B.SCC = C.SCC
set A.RevBillCtrl = 8
BTW, 이전 버전의 Access는 차례로 이어지는 INNER JOINS를 좋아하지 않았습니다.
Update dbo_tblMain AS A
inner join (dbo_tblPlateNo as B
inner join (dbo_tblSubcons as C
on B.SCC = C.SCC)
on B.PNC = A.PLC)
set A.RevBillCtrl = 8
아래 쿼리를 시도했지만 오류가 발생했습니다. 런타임 오류 '3075': 쿼리 식 'B.PNC = A.PLC 내부 조인 dbo_tblSubcons AS C ON B.SCC = C.SC'구문 오류 (누락 된 연산자). 업데이트 dbo_tblMain A는 내부 은 내부 같이 dbo_tblSubcons 가입 B.PNC = A.PLC ON B로 dbo_tblPlateNo 가입 C에 B.SCC = C.SCC 8 – Alex
중첩 된 하나의 시도 내가 가진 – cha
을 조인 = 세트 A.RevBillCtrl 둘 다 시도했지만 같은 오류가 발생했습니다. – Alex
기본적 아이디어는 당신이 중첩 방식으로 조인 할 필요가 있다는 것입니다 : 그들은 조인 중첩 된 구문을 사용했다. 아래를 참조하십시오.
Sql = "UPDATE dbo_tblMain
INNER JOIN (dbo_tblPlateNo
INNER JOIN dbo_tblSubCons
ON (dbo_tblPlateNo.SCC = dbo_tblSubCons.SCC))
ON (dbo_tblMain.PLC = dbo_tblPlateNo.PNC)
SET dbo_tblMain.RevBillCtrl = 8"
vba가 아닌 실제 쿼리로 쿼리를 테스트하십시오. 확실하지 않아요 여기에 vba가 필요해. 조인을 드래그하기 위해 query desinger를 사용하면 액세스가 구문을 처리합니다. –
어떤 데이터 형식이'A.RevBillCtrl'입니까? –
A.RevBillCtrl의 데이터 유형은 정수입니다. – Alex