2016-06-03 2 views
0

AS400 테이블 (LIBRARY.TABLE)의 데이터로 Microsoft Access 2013 테이블 (tbl_Data라고 함)의 레코드를 업데이트하는 데 실패했습니다.통과 쿼리의 데이터로 Microsoft Access 2013 테이블 업데이트

아래의 내 Access 2013 통과 쿼리에서 볼 수 있듯이 접두사 & 번호 필드를 사용하여 AS400 테이블에 액세스 테이블을 조인하려고 시도하고 거기에서 이름이 & 인 액세스 테이블을 업데이트합니다. AS400 테이블에서.

OBDC--call failed. 
[IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0199 - Keyword INNER not expected. Valid tokens: USE SKIP WAIT WITH WHERE. (#-199) 

내가 나갈거야으로 내가 어떤 도움을 주셔서 감사합니다 정말 것이다 :이 쿼리를 실행하면

UPDATE 
     tbl_Data 
SET 
     tbl_Data.FirstName = a.NINMFR, 
     tbl_Data.MiddleName = a.NINMMD, 
     tbl_Data.LastName = a.NINAML, 
     tbl_Data.BuildingNumber = a.NIBLNR, 
     tbl_Data.StreetName = a.NISTNM, 
     tbl_Data.AptSuite = a."NIAPT#", 
     tbl_Data.Address2 = a.NIADR2, 
     tbl_Data.City = a.NICITY, 
     tbl_Data.State = a.NISTAT, 
     tbl_Data.ZipCode = a.NIZIPC 
INNER JOIN 
     LIBRARY.TABLE a 
ON 
     tbl_Data.Prefix = a.NIPRFX, 
     tbl_Data.Number = a.NIPLNR; 

, 나는라는 오류가 발생합니다 : 여기

내 최신 시도 아이디어.

감사합니다.

답변

0

업데이트에 대한 Microsoft 고유 구문으로, DB2에서는 작동하지 않습니다. 사용해보기 :

UPDATE 
    tbl_Data 
SET 
    (tbl_Data.FirstName, 
    tbl_Data.MiddleName, 
    tbl_Data.LastName, 
    tbl_Data.BuildingNumber, 
    tbl_Data.StreetName, 
    tbl_Data.AptSuite, 
    tbl_Data.Address2, 
    tbl_Data.City, 
    tbl_Data.State, 
    tbl_Data.ZipCode) 
    = 
    (SELECT 
     a.NINMFR, 
     a.NINMMD, 
     a.NINAML, 
     a.NIBLNR, 
     a.NISTNM, 
     a."NIAPT#", 
     a.NIADR2, 
     a.NICITY, 
     a.NISTAT, 
     a.NIZIPC 
    FROM 
     library.table a 
    WHERE 
     tbl_Data.Prefix = a.NIPRFX, 
     tbl_Data.Number = a.NIPLNR) 
WHERE 
    EXISTS (
     SELECT * 
     FROM 
      library.table a 
     WHERE 
      tbl_Data.Prefix = a.NIPRFX, 
      tbl_Data.Number = a.NIPLNR); 
관련 문제